javascript - 您好,在理解 TypeERROR 时遇到了一点问题:“无法读取未定义的属性 'map'”
问题描述
我正在尝试使用 Spotify 开发人员工具和 Api 制作一个播放列表项目。在 TrackList.js 中,我收到一个 TypeERROR“无法读取未定义的属性 'map'。你能帮我理解错误吗?
import React from 'react';
import './TrackList.css';
import Track from '../Track/Track';
class TrackList extends React.Component {
render() {
return (
<div class="TrackList" >
{
this.props.tracks.map(track => {
return <Track track={track}
key={track.id}
onAdd={this.props.onAdd}
onRemove={this.props.onRemove}
isRemoval={this.props.isRemoval} />
})
}
</div>
)
}
}
export default TrackList;
解决方案
的价值
this.props.tracks
可能不是数组,请尝试以下代码仅在值为数组时渲染组件。
import React from "react";
import "./TrackList.css";
import Track from "../Track/Track";
class TrackList extends React.Component {
render() {
const { tracks } = this.props;
return (
<div class="TrackList">
{Array.isArray(tracks) &&
tracks.map(track => {
return (
<Track
track={track}
key={track.id}
onAdd={this.props.onAdd}
onRemove={this.props.onRemove}
isRemoval={this.props.isRemoval}
/>
);
})}
</div>
);
}
}
export default TrackList;
推荐阅读
- sql - Postgresql:序列扫描而不是索引扫描
- scala - 从 scala (sangria) 中的外部 .graphqls 文件生成 GraphQL 模式
- laravel - 如何从 Laravel 应用程序的 Vue 组件中写入 Laravel 日志?
- sql - 我可以在表中的多个列上引用单个外键吗?如果是,如何在实体框架核心中配置它
- javascript - NextJs 多区域共享标头
- sql - 如何使用 where 子句获取和统一特定数量并在一张表中进行 3 次
- python - 如何保持日期时间索引?ValueWarning:提供了不受支持的索引,在预测时将被忽略
- react-admin - 大写和小写字符串列的排序混合 - React-Admin
- linux - 多个桌面在 bspwm 中不工作 | bspwmrc 没有被读取?
- javascript - 如何有效地在嵌套组件中传递 props?