我是ReactJs/Redux和JSX的新手。我有一个包含动态信息的动态表格。
我的问题出在map上。我有两个层级的map:
<tbody>
{
data.map(row => (
<tr key={`${row.type}`}>
<td>
<h5>{row.type}</h5>
</td>
<td>
{
row.text.map((name, indexText) => (
<span key={row.text[indexText]} className="margin-right-10">
<Link
key={name}
role="button"
onClick={ () => this.getData(
this.state.le_id,
row.text[indexText][1],
row.type,
this.state.year,
)}>
{row.text[indexText][0]}
</Link>
</span >
))
}
</td>
<td>
<Link className="btn btn-info btn-sm"
to={`/company/insurances/all-providers/${row.type}/${this.state.le_id}`}
>
{locales('create')}
</Link>
</td>
</tr>
))
}
</tbody>
这是它实际运行时的完整图示: 图片这里 当我在筛选器中选择其他条件,其中数组中有空值时,它会停止并显示错误:
list.js?6d8a:153 Uncaught (in promise) TypeError: Cannot read property 'map' of null
at eval (eval at <anonymous> (http://localhost:3000/main-7a3d3e8ea9d6afcdba75.min.js:8972:1), <anonymous>:238:35)
at Array.map (native)
at ListsAccounting.render (eval at <anonymous> (http://localhost:3000/main-7a3d3e8ea9d6afcdba75.min.js:8972:1), <anonymous>:222:26)
at eval (eval at <anonymous> (http://localhost:3000/main-7a3d3e8ea9d6afcdba75.min.js:16034:1), <anonymous>:796:21)
at measureLifeCyclePerf (eval at <anonymous> (http://localhost:3000/main-7a3d3e8ea9d6afcdba75.min.js:16034:1), <anonymous>:75:12)
at ReactCompositeComponentWrapper._renderValidatedComponentWithoutOwnerOrContext (eval at <anonymous> (http://localhost:3000/main-7a3d3e8ea9d6afcdba75.min.js:16034:1), <anonymous>:795:25)
at ReactCompositeComponentWrapper._renderValidatedComponent (eval at <anonymous> (http://localhost:3000/main-7a3d3e8ea9d6afcdba75.min.js:16034:1), <anonymous>:822:32)
at ReactCompositeComponentWrapper._updateRenderedComponent (eval at <anonymous> (http://localhost:3000/main-7a3d3e8ea9d6afcdba75.min.js:16034:1), <anonymous>:746:36)
at ReactCompositeComponentWrapper._performComponentUpdate (eval at <anonymous> (http://localhost:3000/main-7a3d3e8ea9d6afcdba75.min.js:16034:1), <anonymous>:724:10)
at ReactCompositeComponentWrapper.updateComponent (eval at <anonymous> (http://localhost:3000/main-7a3d3e8ea9d6afcdba75.min.js:16034:1), <anonymous>:645:12)
这里出现了错误:点击此处查看图片
如何在JSX映射时跳过null值,并在某些位置存在空索引的情况下获取所有元素?