要正确运行the tutorial,我假设启动服务器并在URL栏中输入:127.0.0.1:3000以访问它。 (我们称之为方法1 )
方法2 :但是,我想我只需将index.html文件拖放到浏览器中并在本地播放即可。(我启动服务器只是为了抓取json文件)在此过程中,我发现这两种方法之间存在一些差异:
在“Updating state”部分,我收到错误“Cannot read property 'map' of undefined”,解决方法是使用if语句包装以下代码:
if (this.props.data) {
var commentNodes = this.props.data.map(function (comment){
return (
<div>
<h1>{comment.author}</h1>
</div>
);
});
}
但如果我使用方法1 ,则不需要if块。为什么呢?
在“优化:乐观更新”部分中,当我使用方法2 时,在手动插入帖子后,网页将刷新。像这样: 点击帖子 - &gt;手动插入并显示在页面上 - &gt;页面刷新
但如果我使用方法1 ,则在插入帖子后页面不会刷新。为什么呢?
谢谢!
更新:感谢Hannes如此耐心。问题是我有一个错字:
getInitialState: function() {
return {date: []}; <--- it should be data!!!
},