组件数据挂载方式

组件数据挂载方式

react中将数据细分为两个类型

  1. props 属性 举例: 一出生就具备特性
  2. state 状态 举例: 可以改变的特性、属性
props
  1. 外部传入
  • 父组件通过 属性的形式 将 数据可以绑定在子组件身上 , 子组件通过 this.props 获得
  • 外部传入的props只能通过外部修改 ( 单项数据流 )
  1. 内部设置
  • 内部通过 className.defaultProps 来设置
  • 注意:defaultProps 是 react 16.x版本的, react 15.x版本用的是 getDefaultProps() { return { 属性:属性值} }
  • 内部设置的属性叫做类属性( 静态属性 )
  • 内部设置的方法叫做类方法 ( 静态方法 )
  • 类属性 和 类方法 统称为 类成员
  • 类成员 通过 关键字 static 来定义
  1. props的特殊使用方式
  • children
  • 使用:
    <Child> 内容 </Child>
    this.props.children 就可以将组件的内容展示出来
  • props验证
  • vue中是提供了props验证形式的,但是React中并没有 , 所以React中借助第三方包来进行验证
  • 这个包叫做 prop-types
state
  1. state是自身的 – state 内部设置
  2. state 定义形式
  3. 直接在class 中定义
    class App extends React.Component {
    state = {}
    }
  4. 在constructor中定义
    class App extends React.Component {
    constructor () {
    super () // 继承父类this
    this.state = {}
    }
    }
  5. 用state来操控视图
  6. state的修改使用 setState
this.setState({
状态: 状态值
})
  1. setState 参数问题
  • setState可以有两个参数
  • 第一个参数可以是一个对象
this.setState( {
状态: 新状态值
})
  • 第一个参数可以是一个函数,这个函数我们给起了名称,叫做 updater
this.setState( ( preState, props) => {
return {
状态: 新状态值
}
})
  • 第二个参数是一个回调函数,回调函数的目的是为了做异步
// this.setState( obj||fn,callback )
this.setState({
状态: 新状态值
}, () => {
//目的是为了异步
})
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值