React05state变量渲染和setState修改数据
-
在组件里面我们通过{}在jsx里面渲染变量
-
如果数据需要修改,并且需要页面同事响应改变,那就需要把变量放在state里面,同时使用setState修改
-
初始化状态state
-
更新状态使用setState,不能直接this.state.count = xxx
-
注意事项
《1》setState是异步的,底层设计同一个生命周期会批量操作更新state,这涉及到性能优化问题,所以设计成异步的。
《2》setState第二个参数是一个可选参数,传入一个回调函数可以获取到最新的state。
《3》当修改的state依赖上一次修改的state的值时,可以用以下这种方法修改。
备注:setState的参数不止是可以直接写成对象,还可以写成函数,第一参数写成函数,函数的参数可以拿到上一次的state和prop值。第二个参数是一个函数,可以获取到修改后最新的state。
-
注意setDate是异步更新的。 所以打印的还是旧的数据。要想拿到更新后的最新数据,就在第二个参数回调函数里拿。
-
如果修改的state是依赖上一次更新的state,则这样写:
博主掘金技术社区地址——https://juejin.cn/user/1908407918660871/posts