props

1.props

通过 this.props 可以获取传递给该组件的属性值,还可以通过定义 defaultProps 来指定默认属性值(这是ES6的写法)

下面几个是props的常用API:

  • this.props.children
  • this.props.map
  • this.props.filter

props是调用组件的时候传递进去的数据,一般用于组件树数据传递

import React, { Component } from 'react';

class PropsDemo extends Component {
  props = {
    title: '这是默认的title属性值'
  }
  render(){
    console.log(this.props);

    return <b>{this.props.title}</b>
  }
}

export default PropsDemo;


// 组件调用方式
// <PropsDemo title="设置的标题" />

2.propTypes

通过指定 propTypes 可以校验props属性值的类型,校验可提升开发者体验,用于约定统一的接口规范。

import React, { Component, PropTypes } from 'react';

class PropTypesDemo extends Component {

  static propTypes = {
    title: PropTypes.string.isRequired
  }

  props = {
      title: '默认的title'
  }

  render(){
    return <b>{this.props.title}</b>
  }
}

export default PropTypesDemo;

props(实现组件间的传递)特点:

  • 只能从父组件传给子组件
  • 子组件通过{this.prpos.[name]}获取prpos
  • 子组件设置默认属性Btn.defaultProps={}
  • 子组件设置属性格式验证Btn.propTypes={}