我正在将地图传递给我的所有posts变量,以便我的所有帖子都可以显示为单个帖子,但是它不断出现错误
我尝试使用react网站上的Reactjs文档解决它,它显示的代码几乎与我的代码相同。
import PropTypes from 'prop-types';
import PostItem from './PostItem';
class PostFeed extends Component {
render() {
const { posts } = this.props;
const list = posts.map((post) => <PostItem
key={post._id}
posts={post}
/>
);
return (
{list}
);
}
}
PostFeed.propTypes = {
posts: PropTypes.array.isRequired
};
export default PostFeed;
我希望每个帖子都会在postItem
组件中显示为单个帖子
答案 0 :(得分:0)
posts可能是异步操作的结果,在函数执行其工作时,其值不可用。因此,它应该具有默认值或在具有默认值之前被检查。执行以下操作:
if(this.props.posts && Array.isArray(this.props.posts) && this.props.posts.length > 0)
//then map
答案 1 :(得分:0)
该错误表示,当PostFeed
当时第一次安装props
时,此错误不可用。
您可以检查数据是否可用,例如
let list = "Loading...";
if(posts && posts.length > 0){
list = posts.map((post) => <PostItem key={post._id} posts={post} /> );
}