react中的state

------state

     1 state 的作用

       state是React中组建的一个对象,React把用户界面当做是一个状态机,想想他是不同状态然后渲染这些状态,可以轻松让用户界面与数据保持一致。。。在React中,更新组件的state。会导致重新渲染用户界面(不要操作DOM)简单来说就是用户界面会随着state的变化而变化。

   2 state工作的原理

   常用的通知React数据变化的方法是调用setState(data, callback)。这个方法会合并data到this.state,并重新渲染组件,渲染完成后,调用可选的callback回调,大部分情况不需要提供callback,因为react会负责把界面更新到最新状态。

   3 哪些组件应该有state

   大部分组件的工作应该是从props里取数据并渲染出来,但是,有时候需要用户输入,服务器请求或者时间变化等作出响应,这个时候才才需要state。组件应该尽可能的无状态化,这样能隔离state,把他放到最合适的地方,也能减少冗余并已于解释程序运行过程。程序的模式就是创建多个值负责渲染数据的无状态组件,在他们的上层创建一个有状态组价并把它的状态通过props传给子级,有状态的组件封装了所有用户交互逻辑,而这些无状态组件只负责声明式的渲染数据。

  4 哪些应该作为state

   state应该包括那些被组件的事件处理器改变并触发用户界面更新的数据,这些数据一般很小而且能被json序列化,当创建一个状态化的组件的时候,应该保持数据的精简,然后存入this.state。。。在render()中在根据state来计算需要的其他数据,因为如果在state里添加冗余数据或计算所得数据,经常需要手动保持数据同步。

   5 哪些不应该作为state

    this.state应该仅包括能表示用户界面状态所需要的最少数据,因此,不应该包括:

       计算所得的数据。。。

     react组件: 在render()里使用props和state来创建他

     基于props的重复数据,尽可能保持用props来作为唯一的数据来源,把props保存到state中的有效的场景是需要知道以前的值得时候,因为未来的props可能会发生变化

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值