美文网首页
react之state和props

react之state和props

作者: 小猿_Luck_Boy | 来源:发表于2017-08-30 12:09 被阅读267次

state

state是React中组件的一个对象. React把用户界面当做是状态机,通过与用户的交互,实现不同状态,然后渲染UI,让用户界面和数据保持一致。

react中,更新组件的state,会导致重新渲染用户界面(不要操作DOM).简单来说,就是用户界面会随着state变化而变化

虚拟dom

react中提出虚拟DOM的相关概念,那么虚拟DOM是什么?

我们都知道传统的js操作DOM节点是直接获取DOM节点更改节点的相关信息,但是在react中提供了setState接口来改变html的节点

实现机制是当我们setState去重新更新UI时,react会使用differ算法判断哪个节点需要更新;

虚拟DOM是负责管理真是DOM的虚拟数据结构,就是当我们通过setState更新UI界面的时候,虚拟DOM会帮我们操作真实的DOM更新;这就避免我们直接操作DOM带来的性能问题

下面的代码实现的是,点击button的时候,累加text的值,再使用setState更新buttontext显示

class HelloState extends React.Component {

  constructor(props) {
      super(props);
      // 初始状态
      this.state = {
          text:1
      };
  }
  click(){
    let text = this.state.text;
    text++;
    this.setState({text:text})
  }
  render (){
    return (
      <button onClick={()=>this.click()}>
          {this.state.text}
      </button>
    )
  }
}

props

组件中的props可以传递数据

class CustomButton extends Component {

    render(){
        const {text,onClick} = this.props;
        return(
            <button onClick={()=>onClick()}>
                {text}
            </button>
        )
    }
}

class HelloState extends React.Component {

  constructor(props) {
      super(props);
      this.state = {
          text:1
      };
  }
  click(){
    this.setState({text:++this.state.text})
  }
  render (){
    return (
      <CustomButton text={this.state.text} onClick={this.click.bind(this)}/>
    )
  }
}

其它推荐文章

react之组件的生命周期
react+webpack入门指南

RN项目

菜谱项目 源码
天气预报 源码

RN插件

键盘自适应插件 源码

相关文章

  • React props

    React Props state 和 props 主要的区别在于 props 是不可变的,而 state 可以根...

  • React中的props和state

    props和state this.props 由 React 本身设定, 而 this.state 具有特殊的含义...

  • React内部状态state

    state   React组件的数据分为两种:props和state,props是组件的对外接口,state是组件...

  • React之props和state

    React 基础之props和state 在class 关键字创建的组件中,如果想使用外界传来的props参数,不...

  • react之state和props

    state state是React中组件的一个对象. React把用户界面当做是状态机,通过与用户的交互,实现不同...

  • react native学习笔记6——Props和State

    Props(属性)和State(状态)是React Native中很重要的两个概念。使用Props和State,结...

  • react中的state和props

    前面提过react中的state和props是react组件中的两大部分,有很多人分不清state和props,这...

  • react组件间通信

    react中的props和state props只读,用于组件之间传递信息,这个信息包括:数据和函数 state用...

  • React属性(props)和状态(state)

    React属性(props)和状态(state) 一、属性(props) 属性props是由外部传入、描述性质的,...

  • React基础

    react 教程 react 组件介绍 react state 介绍 react Props 介绍 React:组...

网友评论

      本文标题:react之state和props

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