如何在反应中将对象数组从父组件传递到子组件
How to pass Array of Objects from Parent Component to Child Component in react
我正在做一个 react
项目。
我在父组件中有一个对象数组,现在如何在 react
中将对象数组从父对象传递给子对象
Parent.Component
import React from 'react';
import './App.css';
import Child from './Child/Child';
function App() {
const students = [
{
name: "Mark",
age: 21
},
{
name: "Williams",
age: 24
}
]
return (
<div className='App'>
<Child studentsArrayOfObject = { students }></Child>
</div>
)
}
export default App
Child.Component
import React from "react";
import "./Child.css";
function Child(props) {
return (
<div className="container">
<div className="row">
<div className="col-12">
<div className="Child">
{props.studentsArrayOfObject.map(student => (
<li>{student}</li>
))}
</div>
</div>
</div>
</div>
);
}
export default Child;
你不应该直接打印对象,从对象中获取一些属性,然后显示如下。 ex:name.
{props.studentsArrayOfObject.map(student => <li>{student.name}</li>)}
尝试获取对象的属性并在 JSX.You 中呈现它正在尝试将整个数组呈现为 React 子对象。这是无效的。您应该遍历数组并呈现每个元素。将您的子组件更改为以下内容
例子
import React from 'react';
import './Child.css';
function Child(props) {
return (
<div className='container'>
<div className='row'>
<div className='col-12'>
<div className='Child'>
{props.studentsArrayOfObject.map(student => (
<li key={student.name}>{student.name}</div>
<li key={student.age}>{student.age}</div>
))}
</div>
</div>
</div>
</div>
)
}
export default Child
不能只渲染student对象,我这里改成student.name
<div className="Child">
{/* {props.studentsArrayOfObject.map(student => (
<li>{student}</li>
))} */}
{props.studentsArrayOfObject.map(student => (
<li>{student.name}</li>
))}
</div>
我正在做一个 react
项目。
我在父组件中有一个对象数组,现在如何在 react
Parent.Component
import React from 'react';
import './App.css';
import Child from './Child/Child';
function App() {
const students = [
{
name: "Mark",
age: 21
},
{
name: "Williams",
age: 24
}
]
return (
<div className='App'>
<Child studentsArrayOfObject = { students }></Child>
</div>
)
}
export default App
Child.Component
import React from "react";
import "./Child.css";
function Child(props) {
return (
<div className="container">
<div className="row">
<div className="col-12">
<div className="Child">
{props.studentsArrayOfObject.map(student => (
<li>{student}</li>
))}
</div>
</div>
</div>
</div>
);
}
export default Child;
你不应该直接打印对象,从对象中获取一些属性,然后显示如下。 ex:name.
{props.studentsArrayOfObject.map(student => <li>{student.name}</li>)}
尝试获取对象的属性并在 JSX.You 中呈现它正在尝试将整个数组呈现为 React 子对象。这是无效的。您应该遍历数组并呈现每个元素。将您的子组件更改为以下内容 例子
import React from 'react';
import './Child.css';
function Child(props) {
return (
<div className='container'>
<div className='row'>
<div className='col-12'>
<div className='Child'>
{props.studentsArrayOfObject.map(student => (
<li key={student.name}>{student.name}</div>
<li key={student.age}>{student.age}</div>
))}
</div>
</div>
</div>
</div>
)
}
export default Child
不能只渲染student对象,我这里改成student.name
<div className="Child">
{/* {props.studentsArrayOfObject.map(student => (
<li>{student}</li>
))} */}
{props.studentsArrayOfObject.map(student => (
<li>{student.name}</li>
))}
</div>