• react子组件对父组件传递过来的值进行验证


    PropTypes是react中子组件对父组件传递来的值进行的验证,在项目没有集成ts/flow的情况下可以使用,且react中已原生支持

    导入

    import PropTypes from 'prop-types'  //由于是export default导出,可以重命名
    

    使用

    1. 类型验证
    //声明一个子组件
    const Son = props => (<div>这是父组件接收来的数据:{props.name}</div>)
    
    //使用propTypes对子组件接收的数据进行验证,propTypes须小写
    
    Son.propTypes = { 
      name: PropTypes.string  // 这意味着,传入的必须是string类型
    }
    
    

    如果父组件传入的类型不是PropTypes规定的类型,将会直接在控制台报错:

    以上图为例,假设父组件传递了一个Boolean...

    1. 是否必传
    //声明一个子组件
    const Son = props => (<div>这是父组件接收来的数据:{props.name}</div>)
    
    //使用propTypes对子组件接收的数据进行验证,propTypes须小写
    
    Son.propTypes = { 
      name: PropTypes.string.isRequired  // 这意味着,传入的必须是string类型
    }
    

    如果没有传入子组件规定的必传项会报以下错:

    1. 规定默认值
    //声明一个子组件
    const Son = props => (<div>这是父组件接收来的数据:{props.name}</div>)
    
    //使用propTypes对子组件接收的数据进行验证,propTypes须小写
    
    Son.defaultProps= { 
      name: '致爱丽丝'  // 这意味着,传入的必须是string类型
    }
    
    

    在同时具备默认值与必传的情况下,默认值优先级大于必传。
    以上。

    作者:致爱丽丝
    本文版权归作者和博客园共有,欢迎转载,但必须在文章页面给出原文链接并标名原文作者,否则保留追究法律责任的权利。
  • 相关阅读:
    canvas制作倒计时炫丽效果
    MySQL存储过程
    SpringMVC入门
    JAVA面试/笔试经典题
    JAVA内存存储分配粗略讲解
    数据结构算法总结
    稳定排序
    Java集合框架
    Java笔试题及答案
    面向接口
  • 原文地址:https://www.cnblogs.com/hjk1124/p/14998597.html
Copyright © 2020-2023  润新知