美文网首页
React组件三大核心属性: state、props、refs

React组件三大核心属性: state、props、refs

作者: 他爱在黑暗中漫游 | 来源:发表于2021-10-02 17:16 被阅读0次

一、state

  1. 理解
    1.state是组件对象最重要的属性, 值是对象(可以包含多个key-value的组合)
    2.组件被称为"状态机", 通过更新组件的state来更新对应的页面显示(重新渲染组件)

  2. 注意
    1.组件中render方法中的this为组件实例对象
    2.组件自定义的方法中this为undefined,如何解决?
    2.1.强制绑定this: 通过函数对象的bind()
    2.2箭头函数
    3.状态数据,不能直接修改或更新

二、props

  1. 理解
    1.每个组件对象都会有props(properties的简写)属性
    2.组件标签的所有属性都保存在props中
  2. 作用
    1.通过标签属性从组件外向组件内传递变化的数据
    2.注意: 组件内部不要修改props数据
  3. 操作
    1.读取数据
this.props.name

2.对props中的属性值进行类型限制和必要性限制

//第一种方式(React v15.5 开始已弃用):
Person.propTypes = {
 name: React.PropTypes.string.isRequired,
 age: React.PropTypes.number
}

// 第二种方式(新):使用prop-types库进限制(需要引入prop-types库)
Person.propTypes = {
  name: PropTypes.string.isRequired,
  age: PropTypes.number. 
}

3.扩展属性: 将对象的所有属性通过props传递

<Person {...person}/>

4.默认属性值

Person.defaultProps = {
  age: 18,
  sex:'男'
}

5.组件类的构造函数

constructor(props){
  super(props)
  console.log(props)
}

三、refs

  1. 理解
    1.组件内的标签可以定义ref属性来标识自己
  2. 编码
    1.字符串形式的ref
// 定义
<input ref="input1"/>

// 获取值
this.refs.input1.value

2.回调形式的ref

// 定义
<input ref={(c)=>{this.input1 = c}}/>

// 获取值
this.input1.value

3.createRef创建ref容器·

// 定义
myRef = React.createRef() 
<input ref={this.myRef}/>

// 获取值
this.myRef.current.value

相关文章

  • React组件三大核心属性: state、props、refs

    一、state 理解1.state是组件对象最重要的属性, 值是对象(可以包含多个key-value的组合)2.组...

  • react学习笔记

    state props 父组件变量 refs 父组件调用子组件函数

  • state,props,refs属性

    react的三大属性state props refs state状态三部曲:1)初始化状态值在constructo...

  • react hook -- useState

    基本知识 React的组件有两种属性,state 和 props,state一般是在组件内部使用,而props则代...

  • React - state 与 setState

      React 中与数据相关的属性有: props、state和 context。其中,props表示父组件传递给...

  • React内部状态state

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

  • React组件

    组件 组件是React的核心、精髓。组件有输入、输出以及自身状态,分别对应props、render、state,相...

  • vue组件化思想

    组件化 组件化是vue的核心思想,主要是为了代码重用。 组件通信 父组件=>子组件 属性props 引用refs ...

  • 项目中用到的React、React-Redux、Redux-sa

    React有props和state:props意味着父级分发下来的属性state意味着组件内部可以自行管理的状态,...

  • React基础

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

网友评论

      本文标题:React组件三大核心属性: state、props、refs

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