setState详解

首先如果直接在setState后面获取state的值是获取不到的
如图:


setstate1

第一次,第二次打印都是初始值。通过异步方法调用可以获得值。
那么在实际的项目中我们应该怎么写呢?
因为setState是可以接受两个参数的,一个state,一个回调函数。因此我们可以在回调函数里面获取值。


piliang
huidiao.png

所以我们可以得出结论:
1:setState异步调用
2:批量处理 并不是调用一次就会更新一次render

那么下一个问题来了 componentDidUpdate函数是在setState更新视图后调用的 这个函数和setState的回调函数哪一个先执行呢?


guess.png
first.png

所以得出结论:
3:componentDidUpdate函数先与setState回调执行

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容