gpt4 book ai didi

javascript - 如何在 React 中映射数组并将其作为 props 正确传递给子组件?

转载 作者:行者123 更新时间:2023-11-28 11:43:51 24 4
gpt4 key购买 nike

我有一个子组件PatientRow,它从其父组件ObsTabel接收 Prop 中映射的患者数组。奇怪的是 PatientRow 从未被渲染,而且我在 React Dev 工具上也找不到 PatientRow 组件。另一方面,如果我只是传递患者数组,然后将其映射到 PatienRow 中,组件就会被渲染,但这不是我想要的。我想映射 ObsTabel 中的数组并将其传递给 PatientRow ,以便行是具有自己状态的单独组件。如果您能发现我的错误,请告诉我。注意:ObsTable 有一个父组件,它从那里接收作为 props 传递的患者数组。文件结构 - ParentComponent(带有患者数组).js>ObsTable.js>PatientRow.js


This doesn’t exist in DOM

export default class PatientRow extends React.Component {
constructor(props) {
super(props);

this.state = {
disabled: false
};

}

render() {

const { id, label, name, room, timestamp, observationLevel, roomStatus, patient, index } = this.props;
console.log(this.props);

return (
<tbody>

<tr key={id} >
<td>{label}</td>
<td>{name}</td>
<td>{observationLevel}</td>
<td>{roomStatus}</td>
<td>{timestamp} </td>

<td>


<div>
<Button> Awake </Button>
<Button>Asleep/Breathing</Button>
</div>

<Button> View Room </Button>

<div>
<Button>Awake </Button>
</div>

</td>
<td>
<Button>Asleep</Button>
</td>
</tr>
</tbody>
);
}
}

export default class ObsTabel extends React.Component {
constructor(props) {
super(props);

}

render() {


return (
<div>
<div >
<Table bordered striped hover >
<thead>
<tr>
<th>Room</th>
<th>Patient Name</th>
<th> Obs Level </th>
<th>Room Status</th>
<th>Obs Due In</th>
<th>Patient Location</th>
<th>Patient Obs Detail</th>
<th>Comment</th>
</tr>
</thead>

{this.props.patients.map((patient, index) => {
// console.log(patient); logs each patient

<div key={index}>
<PatientRow
name={patient.name}
id={patient.id}
label={patient.label}
room={patient.room} observationLevel={patient.observationLevel}
roomStatus={patient.roomStatus}
timestamp={patient.timestamp}
index={index}
/>
</div>;
})}

</Table>
</div>



</div>
);
}
}

最佳答案

这是因为您没有在 map 内返回任何内容

return (
<div key={index}>
<PatientRow
name={patient.name}
id={patient.id}
label={patient.label}
room={patient.room}
observationLevel={patient.observationLevel}
roomStatus={patient.roomStatus}
timestamp={patient.timestamp}
index={index}
/>
</div>
);

关于javascript - 如何在 React 中映射数组并将其作为 props 正确传递给子组件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57954217/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com