美文网首页
react 组件状态state

react 组件状态state

作者: 叶绿素yls | 来源:发表于2018-05-15 18:54 被阅读0次

    之前我们没有学习组件状态之前,我们只能通过重新渲染组件来更新组件,现在我们有了组件状态这个东西,我们可以通过更改组件的state,来更改组件的状态。
    那么关于state有几点是需要注意的:

    1. state的初始化必须在构造函数中
    2. state的更改必须通过setState函数,这个函数可以直接接受一个state对象,也可以接受一个函数,函数有两个参数,一个是prevState,一个是props,就是如果我们要用到上一个state或者props,我们就需要传入一个函数。那我们可能会说,我直接使用this.props或者this.state不行吗,我试了一下,貌似是可以实现的,但是官方说了,this.props和this.state可能是异步更新的,所以我们还是写在回调函数中比较好,这样也比较规范。
    3. 当state是一个比较复杂的对象的时候,就比如里面还有多个对象的引用,那么我们可能只需要单独的更新某个对象的值,那么我们用setState的时候是只用传这个对象的值呢,还是要传入state中所有的值呢,答案是只需要传入改变的那个值,因为setState是对state对象做一个合并的操作,并不是替换。
    4. 由于组件的state只跟组件本身有关,组件都不应该去关心别的组件的state或者props,但是我们可以把组件的state或者props作为子组件的props输入进去,这样子组件其实就获取到了父组件的值,而子组件内部是不知道props来自哪里的,我们称这样子的数据流是单向数据流或者自顶向下的数据流,因为数据只能向子组件传输,可以把它想象成一个瀑布。

    相关文章

      网友评论

          本文标题:react 组件状态state

          本文链接:https://www.haomeiwen.com/subject/kjyydftx.html