【发布时间】:2020-10-08 21:53:47
【问题描述】:
我正在从存储在 React 状态中的映射元素呈现一个表格。但是,tr 行元素不会在 tbody 组件中呈现,即使控制台命令显示数据存在。从this.state.tableData 渲染表格行的代码是:
componentWillMount() {
let data = this.props.dbPersons.get("directory");
this.setState({ tableData: data });
}
...
renderTableData() {
return this.state.tableData.map((student, index) => {
const { id, person } = student;
console.log("id'", id);
console.log("person.lastName", person.lastName);
return (
<tr key={index}>
<td>{id}</td>
<td>{person.lastName}</td>
</tr>
)
})
}
tbody 如果 tableData 存储在 state 中,则渲染:
{this.state.tableData && <tbody>
{this.renderTableData()}
</tbody>}
但是当页面打开时,控制台会显示行数据,但 tbody 渲染时没有任何行。为什么?组件是否需要以某种方式刷新? tbody 组件是否已经渲染并且无法更新?
【问题讨论】:
标签: javascript reactjs react-redux