一. PropTypes 与 DefaultProps 官方文档

  1. PropTypes 属性校验

    引入 PropTypes

      import PropTypes from 'prop-types';

    强校验 props 属性

    eg:

      import React, { Component } from 'react'

      import PropTypes from 'prop-types'

      class TodoItem extends Component{

        constructor(props){

          super(props);

        }

      }

      // 校验 传递过来的 value 为 string 类型

      // 校验 传递过来的 itemDelete 为 function 类型

      // 校验 传递过来的 index 为 string 类型 并且必须要传递

      // 如果传递的数据不对 会在 控制太报一个警告

      TodoItem.propTypes = {

        value: PropTypes.string,

        itemDelete: PropTypes.func,

        index: PropTypes.string.isRequired

      }

      export default TodoItem;

  2.DefaultProps 设置默认值

    eg:

      import React, { Component } from 'react'

      class TodoItem extends Component{

        constructor(props){

          super(props);

        }

      }

      // 设置 props 的 test默认属性为 hello world

      TodoItem.defaultProps = {

        test: 'hello world'

      }

      export default TodoItem;

二. Props , State , render 函数 关系

  // 当组件 的 props 和 state 发生改变时 render 方法会重新执行

  // 当父组件 的 render 函数被运行时, 子组件 的 render 都会被运行

8. react 基础 - props 默认值和类型限制 与 Props , State , render 函数 关系的更多相关文章

  1. Swift语言指南(七)--语言基础之布尔值和类型别名

    原文:Swift语言指南(七)--语言基础之布尔值和类型别名 布尔值 Swift有一个基本布尔类型,叫做布尔(bool),布尔值又称逻辑值(logical),因为它只能为真(true)或假(false ...

  2. React传值,验证值的类型和默认值

    const ele = <Ff const={'哈哈'} index={55}></Ff> let box = document.querySelector('#app') / ...

  3. 十、React 父组件传来值的类型控制propTypes、父组件如果不传值defaultProps

    父组件给子组件传值时: 1.defaultProps:父子组件传值中,如果父组件调用子组件的时候不给子组件传值,可以在子组件中使用defaultProps定义的默认值: 2.propTypes:验证父 ...

  4. react input 设置默认值

    1.text类型 <input type="text" value={默认值} />  ,这种写法可以显示默认值,但不能对输入框进行编辑 正确写法: <input ...

  5. react中属性默认值是true?

    看到项目代码中 return ( <MyWebView state="Login" title="登录app" ref="login" ...

  6. php基础--取默认值以及类的继承

    (1)对于php的默认值的使用和C++有点类似,都是在函数的输入中填写默认值,以下是php方法中对于默认值的应用: <?phpfunction makecoffee($types = array ...

  7. JS基础_返回值的类型

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  8. vue props默认值国际化报错

    未做国际化处理 tabLabel: { type: Array, default: () => (["a", "b", "c"]) } ...

  9. ES6 函数参数的默认值

    基本用法 在ES6之前,不能直接为函数的参数指定默认值,只能采取变通的方法. function log(x,y){ y = y||'world'; console.log(x,y); } log('k ...

随机推荐

  1. BlackArch-Tools

    BlackArch-Tools 简介 安装在ArchLinux之上添加存储库从blackarch存储库安装工具替代安装方法BlackArch Linux Complete Tools List 简介 ...

  2. gojs 部分功能实现

    最近做的项目用到了gojs,使用了一段时间发现其功能特别强大,先记录下目前自己用到的把 1. 初始化画布 myDiagram = $(go.Diagram, "myDiagramDiv&qu ...

  3. 0104 gradle入门

    背景 gradle的官网是 www.gradle.org,标题介绍是: accelerate developer productivity,翻译过来:提高开发者的生产率: 简要介绍:从手机app到微服 ...

  4. 关于 CDN 负载均衡 网页请求过程等

    链接 1 [转]浅谈一个网页打开的全过程(涉及DNS.CDN.Nginx负载均衡等)  https://www.cnblogs.com/xuan52rock/p/6845637.html 2 闲话 C ...

  5. Golang函数-函数的基本概念

    Golang函数-函数的基本概念 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.函数的概述 1>.函数定义语法格式 Go语言函数定义格式如下: func 函数名( 函数参 ...

  6. int类型和char类型的区别

    下面三个定义式的区别: int i = 1; char i = 1; char i = '1'; int用来定义整型变量,char用来定义字符型变量,要清楚的知道三个定义式的区别,可以比较它们在内存中 ...

  7. UVA - 1451 Average (斜率优化)

    题意:由01组成的长度为n的子串,AT由0表示,GC由1表示,求一段长度大于等于L且GC率最高的子串的起始终止坐标,若GC率相同,取长度较小,若长度相同,取起始坐标最小. 分析: 1.一个子串(i+1 ...

  8. 【LeetCode】不同二叉搜索树

    [问题] 卡特兰(Catalan)数来源于卡特兰解决凸n+2边形的剖分时得到的数列Cn,在数学竞赛.信息学竞赛.组合数学.计算机编程等方面都会有其不同侧面的介绍.卡特兰问题的解决过程应用了大量的映射方 ...

  9. Elasticsearch常用的设置

    action.destructive_requires_name: true     用于设置删除只限于特定名称指向的数据, 而不允许通过指定 _all来删除所有索引

  10. xml配置文件解释

    XML 指可扩展标记语言(EXtensible Markup Language) xmlns:是指XML命名空间 ( XML Namespace ) XSD是指XML结构定义 ( XML Schema ...