react setState疑问
这两个fetch返回结果分别执行setState。
关于这部分我有一点没明白:
两次setState时间点不同,如何理解下面的“完全替换”?
这里的合并是浅合并,所以this.setState({comments})
完整保留了this.state.posts
, 但是完全替换了this.state.comments
。
回答
红框里是用 this.setState({comments})
来举例,试图说明:你在替换 this.state.comments
的时候,不会影响到 this.state.comments
,反过来也是成立的,各个子项互不干扰,这样的更改很“浅” 。
至于“合并”,大意就是:this.state
始终是同一个 state
实例,所有的更改不过是改变它的各个子项罢了,等于是把其他的内容“合并”到这个 state
实例上来。
所说的合并类似于
Object.assign( this.state, { comments: response.comments } );
也就是
Object.assign({ comments: [], ports: [] },
{ comments: response.comments }
);
以上是 react setState疑问 的全部内容, 来源链接: utcz.com/a/28227.html