React入门(三)父组件给子组件传递过来的值验证

本节知识点

(1) props验证
(2) defaultProps 默认属性

Props验证

props 验证必须要引入props
import PropTypes from 'prop-types';
然后在组件即将暴露之前写验证规则
list.propTypes = {
  content: PropTypes.string, // 类型是字符串
  deletedate: PropTypes.oneOfType([PropTypes.func, PropTypes.number]), //类型是方法或者数字
  index: PropTypes.number.isRequired // 类型是number 而且必须是必填的
}
// 默认数据
list.defaultProps = {
  test: 'Hello.world'
}

全部代码

import React, { Component } from 'react'
import PropTypes from 'prop-types';
class list extends Component {
  constructor(props) {
    super(props)
    this.state = {}
  }
  render() {
    return <div onClick={this.deleteone.bind(this)}>{this.props.content}</div>
  }
  deleteone() {
    let value = this.props.index
    console.log(value)
    this.props.deletedate(value)
  }
}
list.propTypes = {
  content: PropTypes.string, // 类型是字符串
  deletedate: PropTypes.oneOfType([PropTypes.func, PropTypes.number]), //类型是方法或者数字
  index: PropTypes.number.isRequired // 类型是number 而且必须是必填的
}
// 默认数据
list.defaultProps = {
  test: 'Hello.world'
}
export default list

备注 虚拟节点问题
虚拟DOM 本质上就是一个js对象。

['div',{id:'abc'},['span',{class:"haha"}]]

这样生成一个虚拟DOM比元素要提高性能

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 40、React 什么是React?React 是一个用于构建用户界面的框架(采用的是MVC模式):集中处理VIE...
    萌妹撒阅读 1,075评论 0 1
  • 自己最近的项目是基于react的,于是读了一遍react的文档,做了一些记录(除了REFERENCE部分还没开始读...
    潘逸飞阅读 3,526评论 1 10
  • 作为一个合格的开发者,不要只满足于编写了可以运行的代码。而要了解代码背后的工作原理;不要只满足于自己的程序...
    六个周阅读 8,544评论 1 33
  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5? 答:HTML5是最新的HTML标准。 注意:讲述HT...
    kismetajun阅读 27,879评论 1 45
  • 《他发明了什么》步枪,师傅,政策,官府,压迫,尼姑,欺骗,配合,机械,恩惠,装置,捍卫,挺身而出,标准化,抽取,不...
    三门峡756马青云阅读 286评论 0 6