¿Qué significa esto de que props.items no están definidos? Se supone que el componente principal pasa los datos al componente Usuarios. He comprobado que el componente Usuarios recibe correctamente el objeto con los datos. Entonces, ¿hay algún problema con la sintaxis en JSX?
El mensaje de error:
TypeError: props.items is undefined Users C:/...src/components/Users/Users.js:3 1 | function Users(props) { 2 | return ( > 3 | <ul> 4 | {props.items.map((user) => ( 5 | <div> 6 | {user.name} - {user.age}El componente padre:
import {useState} from 'react'; import Card from './components/UI/Card'; import Form from './components/Form/Form'; import users from './data/data'; import Users from './components/Users/Users'; function App() { const [userDB, setUserDB] = useState(users); function addUserToDB(user) { setUserDB(prevUsers => { return [user, ...prevUsers]; }); }; return ( <div> <Card> <Form onAddToDB={addUserToDB} /> </Card> <Users userData={userDB} /> </div> ); } export default App;El componente Usuarios donde se rastrea el error:
function Users(props) { return ( <ul> {props.items.map((user) => ( <div> {user.name} - {user.age} </div> ))} </ul> ); } export default Users;Supongo que no pasó la propiedad de elementos a sus Usuarios o debería cambiar el nombre de la propiedad UserData .
<Users items={userDB} />Lo que estás pasando finalmente vendrá dentro de los accesorios.
Aquí
<Users userData={userDB} />entonces props contiene solo el objeto userData
así que en lugar de
{props.items.map((user) => (...)usar
{props.userData.map((user) => (...)