React数据格式验证PropTypes

组件的属性类型如果不进行声明和验证,那么很可能使用者传给你的属性值或者类型是无效的,那会导致一些意料之外的故障。好在React已经为我们提供了一套非常简单好用的属性校验机制。

React有一个PropTypes属性校验工具,经过简单的配置即可。当使用者传入的参数不满足校验规则时,React会给出非常详细的警告。

需要引入react-with-addons.js

PropTypes包含的校验类型包括基本类型、数组、对象、实例、枚举。

如果某个属性是必须的,在类型后面加上 .isRequired 即可。

作用:使用组件的时候可以明确需要传入的数据。

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Title</title>
  <!-- 核心 -->
  <script src="../build/react.min.js"></script>
  <!-- 渲染dom -->
  <script src="../build/react-dom.min.js"></script>
  <!-- 把jsx、es6转换成js、es5 -->
  <script src="../build/browser.min.js"></script>
  <!--属性校验工具-->
  <script src="react-with-addons.js"></script>
</head>
<body>
  <div id="root">
  </div>
</body>
<script type="text/babel">
  var List = React.createClass({
    propTypes:{
      listData:React.PropTypes.array.isRequired
    },
    getDefaultProps:function () {
      return {
        listData:[]
      }
    },
    render:function () {
      return (
        <ul>
          {
            this.props.listData.map(function (ele,index) {
              return <li key={index}>{ele}</li>
            })
          }
        </ul>
      )
    }
  });
  ReactDOM.render(<List listData={[1,2,3,4]}/>,document.getElementById("root"))
</script>
</html>
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 原教程内容详见精益 React 学习指南,这只是我在学习过程中的一些阅读笔记,个人觉得该教程讲解深入浅出,比目前大...
    leonaxiong阅读 2,881评论 1 18
  • 目前,react组件有三种写法,分别是es5的createClass写法,es6的class写法,以及statel...
    ZoomFunc阅读 1,872评论 0 1
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 174,676评论 25 709
  • react基础API没有学react的同学请看完这篇教程再看APIhttp://www.ruanyifeng.co...
    在宇宙Debugger阅读 483评论 0 0
  • 有时候一直想找一个地方,没有认识人自己的地方,写写自己的心里话,难过的也不会有人担心,矫情的也不会有人嘲笑。越长大...
    柒月深海阅读 244评论 0 0