• React props


    可以使用组件类的defaultProps属性为props设置默认值

    class HelloMessage extends React.Component {
      render() {
        return (
          <h1>Hello, {this.props.name}</h1>
        );
      }
    }
    
    HelloMessage.defaultProps = {
      name: 'heson'
    };
    
    const element = <HelloMessage/>;
    
    ReactDOM.render(
      element,
      document.getElementById('example')
    );
    
    

    state和props组合使用 state是可以改变的状态,props是不可变的

    以下实例演示了如何在应用中组合使用 state 和 props 。我们可以在父组件中设置 state, 并通过在子组件上使用 props 将其传递到子组件上。在 render 函数中, 我们设置 name 和 site 来获取父组件传递过来的数据。

    需要引入

    <script src="https://cdn.staticfile.org/prop-types/15.6.1/prop-types.js"></script>

    class WebSite extends React.Component {
      constructor() {
          super();
    
          this.state = {
            name: "菜鸟教程",
            site: "https://www.runoob.com"
          }
        }
      render() {
        return (
          <div>
            <Name name={this.state.name} />
            <Link site={this.state.site} />
          </div>
        );
      }
    }
    
    class Name extends React.Component {
      render() {
        return (
          <h1>{this.props.name}</h1>
        );
      }
    }
     
    class Link extends React.Component {
      render() {
        return (
          <a href={this.props.site}>
            {this.props.site}
          </a>
        );
      }
    }
     
    //对类型进行控制
    WebSite.propTypes={
        name:PropTypes.string,
        site:PropTypes.string
    }
    
    
    ReactDOM.render(
      <WebSite />,
      document.getElementById('example')
    );
    
    
  • 相关阅读:
    mysql数据索引
    JQuery学习
    (原创)JAVA多线程一传统多线程
    JAVA常用的XML解析方法
    java集合比较
    Hibernate总结3
    Hibernate总结4之HQL
    HDU5716, HDU5745【dp+bitset】
    Can of Worms 【迭代/线段树】
    CSU 1802 小X的战斗力【拓扑dp】
  • 原文地址:https://www.cnblogs.com/heson/p/12012334.html
Copyright © 2020-2023  润新知