我在 moviesTable.jsx<TableBody data = {this.props.movies} />
和 tableBody.jsx 中定义了我的组件,我使用嵌套它的 map 函数,也就是说,我使用了两次 map 但我不知道为什么它说未定义,我没有看到我的代码是错误的,我已经看过其他论坛,他们说我应该用this.props定义它,但我确实定义了它,我不认为这是因为我使用它两次,因为我有一张桌子所以我不知道是什么真的错了,错误标记第 21 行,第一张地图开始的地方。
import React, { Component } from 'react';
import _ from 'lodash';
class TableBody extends Component {
renderCell = (item, column) => {
if(column.content) return column.content(item);
return _.get(item, column.path);
}
createKey = (item, column) => {
return item._id + (column.path || column.key);
}
render() {
const { data, columns } = this.props;
return (
<tbody>
{data.map(item => (
<tr key = {item._id}>
{columns.map(column => <td key = {this.createKey(item, column)}>{this.renderCell(item, column)}</td>)}
</tr>))}
</tbody>
);
}
}
export default TableBody;
确实,我没有定义列
<TableBody data = {this.props.movies} columns = {this.columns} />
,这对我有用!!