javascript - TypeError:无法读取未定义的属性“地图”
问题描述
我正在使用 react 为库存管理创建一个基本的 crud 应用程序,但是我在 DataTable.render 上收到此错误
TypeError: Cannot read property 'map' of undefined
它突出显示的代码是这样的
27 |
28 | render() {
29 |
> 30 | const assets = this.props.assets.map(asset => {
| ^ 31 | return (
32 | <tr key={asset.id}>
33 | <th scope="row">{asset.id}</th>
我将如何解决这个问题?
解决方案
看起来你的assets
道具是未定义的。做这样的事情
const assets = (this.props.assets || []).map(asset => {
应该阻止错误发生。但是如果不查看完整的组件,真的很难说问题出在哪里。
我猜你正在使用某种 API 获取数据,在这种情况下,理想情况下你应该有某种loading
or empty state
,并在道具尚未准备好时表明这一点。
就像是,
...
render() {
if (this.props.assets === undefined) {
return <Loading />
}
const assets = this.props.assets.map(asset => {
...