难度级别:中高级及以上 提问概率:70%
在React项目中,使用setState可以更新状态数据,而不能直接使用为this.state赋值的方式。而为了避免重复更新state数据,React首先将state添加到状态队列中,此时我们可以通过shouldComponentUpdate这个钩子函数在一定程度上决定是否需要更新组件。所以是不能在服务器托管shouldComponentUpdate钩子函数内使用setStat服务器托管e来更新state的,这样程序会继续调用updateComponent方法,而updateComponent又继续调用shouldComponentUpdate,从而导致状态更新死循环,这一点开发者需要注意。
很多人认为setState是异步的,这本没有错。从开发角度来说,如果上一行代码做了赋值操作,下一行代码未能及时拿到赋值结果,其实都可以算作是异步的,因为代码执行本身也是需要时间的,哪怕只是一行简单的Javascript代码。但考虑到这道面试题,求职者就需要从队列以及事件角度来回答了。
更新state数据的过程中,有一个非常重要的变量isBatching
服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net
相关推荐: 基于Springboot+Redis+mysql实现的闲置二手交易网站管理系统
1.1 背景分析 二手商品是学生比较青睐的廉价商品,网站设计应着重突出实用和廉价。也有一部分消费者是淘宝者,他们对相中的商品有着急切的拥有欲望。网上交易的好学生提供一个供需平台,学生可以将自己不用的东西放在网上,也可在网上找到自己需要处在于能够不用交房租、不用…