props

2020-03-09  本文已影响0人  陈大事_code
class Person extends React.Component {

   constructor(props) {
     super(props);
     console.log(props); //查看所有属性
   }

   render() {
     return (
       <ul>
         // 获取props值的方式
         <li>姓名: {this.props.name}</li>
         <li>性别: {this.props.sex}</li>
         <li>年龄: {this.props.age}</li>
       </ul>
     );
   }
 }

 Person.propTypes = { // 类型限制
  name: React.PropTypes.string.isRequired,
  sex: React.PropTypes.string.isRequired,
  age: React.PropTypes.number.isRequired
 };

 Person.defaultProps = { // 默认值限制
   sex: '男',
   age: 18
 };

上面这种方式是在类声明之外,进行限制,这是一种方式(看起来有点脱节),

当然也可以在内部声明,比如:

class Person extends React.Component {

    constructor(props) {
      super(props);
      console.log(props); //查看所有属性
    }

    render() {
      return (
        <ul>
          // 获取props值的方式
          <li>姓名: {this.props.name}</li>
          <li>性别: {this.props.sex}</li>
          <li>年龄: {this.props.age}</li>
        </ul>
      );
    }
    
     static.propTypes = { // 类型限制
       name: React.PropTypes.string.isRequired,
       sex: React.PropTypes.string.isRequired,
       age: React.PropTypes.number.isRequired
      };

     static.defaultProps = { // 默认值限制
        sex: '男',
        age: 18
      };
  }
// person = {name: 'cc', sex: '男', age: 24}
<Person {...person} />

参考

上一篇下一篇

猜你喜欢

热点阅读