【发布时间】:2018-09-18 05:01:02
【问题描述】:
Post component
---------------
import React, { Component } from "react";
import * as PostActions from "../actions/PostActions";
import PostStore from "../store/PostStore";
class Post extends Component {
constructor() {
super();
this.loadPosts();
this.getPosts = this.getPosts.bind(this);
this.state = {
post: []
};
}
componentWillMount() {
PostStore.on("change", this.getPosts);
}
componentWillUnmount() {
PostStore.removeListener("change", this.getPosts);
}
getPosts() {
this.setState({
post: PostStore.getAll()
});
}
loadPosts() {
PostActions.fetchPosts(); // Action
}
render() {
const postItems = this.state.post.map(post => (
<div key={post.id}>
<h3>{post.title}</h3>
<p>{post.body}</p>
</div>
));
return (
<div>
<h1>Posts</h1>
{postItems}
</div>
);
}
}
export default Post;
----------------------------------------------
IN 控制台 -------------------
未捕获的类型错误:无法读取未定义的属性“id” 在 Post.jsx:35 在 Array.map() 在 Post.render (Post.jsx:34) 在完成类组件(react-dom.development.js:13537) 在 updateClassComponent (react-dom.development.js:13500) 在 beginWork (react-dom.development.js:14089) 在 performUnitOfWork (react-dom.development.js:16415) 在 workLoop (react-dom.development.js:16453) 在 HTMLUnknownElement.callCallback (react-dom.development.js:145) 在 Object.invokeGuardedCallbackDev (react-dom.development.js:195) 在 invokeGuardedCallback (react-dom.development.js:248) 在 replayUnitOfWork (react-dom.development.js:15744) 在 renderRoot (react-dom.development.js:16547) 在 performWorkOnRoot (react-dom.development.js:17386) 在 performWork (react-dom.development.js:17294) 在 performSyncWork (react-dom.development.js:17266) 在 interactiveUpdates$1 (react-dom.development.js:17557)
【问题讨论】:
-
有人知道这个错误吗?
-
codeshare.io/anrK0Y 检查此链接这是整个代码
-
日志是这个codeshare.io/arrLDV