react的propTypes和defaultProps

Posted on   猫头唔食鱼  阅读(172)  评论(0编辑  收藏  举报

1.propTypes  

子组件规定父组件传过来的值的类型  注意下面注释的地方

复制代码
import React, { Component } from 'react';
import PropTypes from 'prop-types'  // PropTypes  首字母大写
class Child extends Component {
    constructor(props) {
        super(props);
        this.state = {  }
    }
    render() { 
        return ( 
            <div>
                child
                {this.props.test}
                </div>
         );
    }
}
// 这个propTypes 是驼峰
 Child.propTypes = {
     // 这个PropTypes 首字母大写
     test: PropTypes.string
 }

export default Child;
复制代码

 

2. defaultProps 

规定父组件传过来的默认值,如果父组件不传这个值,子组件会使用这个默认值

子组件:

复制代码
import React, { Component } from 'react';
class Child extends Component {
    constructor(props) {
        super(props);
        this.state = {  }
    }
    render() { 
        return ( 
            <div>
                child
                {/* 默认值 sss */}
               { this.props.testname}   
            </div>
         );
    }
}

 Child.defaultProps = {
     testname:'sssss'
 }
export default Child;
复制代码

父组件:

复制代码
import React, { Component } from 'react';
import Child from './Child'
class Parent extends Component {
    constructor(props) {
        super(props);
        this.state = { 
            pdata:'父数据'
         }
    }
    render() { 
        return ( 
            <div>
                {/* 父组件没有传testname */}
                <Child></Child>
            </div>
         );
    }
}
 
export default Parent;
复制代码

 

编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示