我对JavaScript不太熟悉,但是必须为当前项目在ReactJS中实现一个表。在下面,我得到一个error: map is not defined
。我做了一些错误研究,但在这里或在Google上找不到满意的答案。
render() {
const { hits } = this.props
return (
<div style={{width: '100%', boxSizing: 'border-box', padding: 8}}>
<table className="sk-table sk-table-striped" style={{width: '100%', boxSizing: 'border-box'}}>
<thead>
<tr>
<th>Title</th>
<th>Author</th>
<th>Keywords</th>
</tr>
</thead>
<tbody>
{map(hits, hit => (
<tr key={hit._id}>
<td>{hit._source.title}</td>
<td>{hit._source.year}</td>
<td>{hit._source.imdbRating}</td>
</tr>
))}
</tbody>
</table>
</div>
)
}
有人可以指出我正确的方向吗?
答案 0 :(得分:1)
您必须在顶部创建的匹配常数上使用map函数。像这样:
{hits.map(hit => (
<tr key={hit._id}>
<td>{hit._source.title}</td>
<td>{hit._source.year}</td>
<td>{hit._source.imdbRating}</td>
</tr>
))}
答案 1 :(得分:1)
map是在javascript的Array原型上定义的函数。您正在此处未定义该方法的全局对象上调用map。因此,您会得到未定义的错误。
hits.map可能正是您想要的。
答案 2 :(得分:0)
您是http://docs.searchkit.co/v2.0.0/components/basics/hits.html的例子吗
在这种情况下,您需要声明map ... 放入:
import { map } from 'lodash'
在文件开头,从“ searchkit”导入{....}后