美文网首页
react state和props

react state和props

作者: 夜息白鸽 | 来源:发表于2017-10-24 14:58 被阅读0次
    state:

    state 的主要作用是用于组件保存、控制、修改自己的可变状态。state 在组件内部初始化,可以被组件自身修改,而外部不能访问也不能修改。你可以认为 state 是一个局部的、只能被组件自身控制的数据源。state 中状态可以通过 this.setState 方法进行更新,setState 会导致组件的重新渲染。

    props:

    props 的主要作用是让使用该组件的父组件可以传入参数来配置该组件。它是外部传进来的配置参数,组件内部无法控制也无法修改。除非外部组件主动传入新的 props,否则组件的 props 永远保持不变。

    区别:state 是让组件控制自己的状态,props 是让外部对组件自己进行配置。

    正常的组件:

    class HelloWorld extends Component {
      constructor() {
        super()
      }
    
      sayHi () {
        alert('Hello World')
      }
    
      render () {
        return (
          <div onClick={this.sayHi.bind(this)}>Hello World</div>
        )
      }
    }
    

    用函数式组件的编写方式就是:

    const HelloWorld = (props) => {
      const sayHi = (event) => alert('Hello World')
      return (
        <div onClick={sayHi}>Hello World</div>
      )
    }
    

    注:以前一个组件是通过继承 Component 来构建,一个子类就是一个组件。而用函数式的组件编写方式是一个函数就是一个组件,你可以和以前一样通过 <HellWorld /> 使用该组件。不同的是,函数式组件只能接受 props 而无法像跟类组件一样可以在 constructor 里面初始化 state。你可以理解函数式组件就是一种只能接受 props 和提供 render 方法的类组件。

    相关文章

      网友评论

          本文标题:react state和props

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