1. 程式人生 > >react—— 型別檢查prop-types

react—— 型別檢查prop-types

型別檢查

1,注意: React.PropTypes 自 React v15.5 起已棄用。請使用 prop-types 庫代替。

import PropTypes from 'prop-types';

class Greeting extends React.Component {
  render() {
    return (
      <h1>Hello, {this.props.name}</h1>
    );
  }
}

Greeting.propTypes = {
  name: PropTypes.string
};

2,功能

(1)使用 PropTypes.element限制單個子代

(2)defaultProps 為元件props定義預設值:

(3)將 transform-class-properties 的 Babel 轉換器

和defaultProps結合使用。

即:React 元件類中宣告 defaultProps 作為靜態屬性。

class Greeting extends React.Component {
  static defaultProps = {
    name: 'stranger'
  }

  render() {
    return (
      <div>Hello, {this.props.name}</div>
    )
  }
}

備註:型別檢查發生在 defaultProps 賦值之後,所以型別檢查也會應用在 defaultProps 上面。