React之defaultProps、propTypes
1、新增知识点
/**
React中的组件: 解决html 标签构建应用的不足。
使用组件的好处:把公共的功能单独抽离成一个文件作为一个组件,哪里里使用哪里引入。
父子组件:组件的相互调用中,我们把调用者称为父组件,被调用者称为子组件
父子组件传值(react 父子组件通信)
父组件给子组件传值
1.在调用子组件的时候定义一个属性 <Header msg='首页'></Header>
2.子组件里面 this.props.msg
说明:父组件不仅可以给子组件传值,还可以给子组件传方法,以及把整个父组件传给子组件,可以让子组件给父组件传值。 父组件主动获取子组件的数据
1、父组件调用子组件的时候指定ref的值 <Header ref='header'></Header>
2、父组件通过this.refs.header 获取整个子组件实例 (dom(组件)加载完成以后获取 ) defaultProps:父子组件传值中,如果父组件调用子组件的时候不给子组件传值,则可以在子组件中使用defaultProps定义的默认值
//当获取不到父组件的传值,选择默认值
Header1.defaultProps={
msg:"默认标题"
}
propTypes:验证父组件传值的类型
//检查父组件传过来的数据类型
Header1.propTypes={
num:PropTypes.number
}
都是定义在子组件中
*/
2、子组件Header1.js
import React from 'react';
import PropTypes from 'prop-types';
class Header1 extends React.Component{
constructor(props){
super(props);
this.state={
msg:"this is a header1 content"
}
}
render() {
return(
<div>
{this.props.msg}----获取父组件数据
<br/>
{this.props.num}----获取父组件数据
</div>
)
} }
export default Header1;
//检查父组件传过来的数据类型
Header1.propTypes={
num:PropTypes.number
}
//当获取不到父组件的传值,选择默认值
Header1.defaultProps={
msg:"默认标题"
}
3、创建父组件Home11.js
import React from 'react';
import Header1 from './Header1'; class Home11 extends React.Component{
constructor(props){
super(props);
this.state={
msg:"Home12 首页",
num:
}
} render() {
return(
<div>
<h2>Home12 测试</h2>
<hr/>
<Header1 msg={this.state.msg} num={this.state.num} />
</div>
)
} }
export default Home11;
React之defaultProps、propTypes的更多相关文章
- 【react】利用prop-types第三方库对组件的props中的变量进行类型检测
1.引言--JavaScript就是一个熊孩子 1.1对于JSer们来说,js是自由的,但同时又有许多让人烦恼的地方.javascript很多时候就是这么一个熊孩子,他很多时候并不会像C和java ...
- [React] Define defaultProps and PropTypes as static methods in class component
class Toggle extends Component { static propTypes = { defaultOn: PropTypes.bool, on: PropTypes.bool, ...
- react 中的PropTypes与DefaultProps
每个组件都有自己的props参数,这参数是从父组件接收的一些属性.那我们应该如何对参数的类型做校验,如何定义参数的默认值呢? 1.使用PropTypes校验父组件传过来的参数是否合法 import P ...
- react中使用prop-types检测props数据类型
一.为什么使用prop-types 在多人开发时,当被人使用自己定义的组件时,有可能出现类型传错的情况,而在自己的组件上加上prop-types,他可以对父组件传来的props进行检查,加入父组件中想 ...
- React中使用 PropTypes 进行类型检查
官方文档学习链接:https://zh-hans.reactjs.org/docs/typechecking-with-proptypes.html import React, { Component ...
- react Props 验证 propTypes,
<body><!-- React 真实 DOM 将会插入到这里 --><div id="example"></div> <!- ...
- React中的PropTypes详解
propTypes用来规范props必须满足的类型,如果验证不通过将会有warn提示. React PropTypes的种类有: React.PropTypes.array // 队列 React.P ...
- react第九单元(propTypes验证)
第九单元(propTypes验证) #课程目标 理解类型验证的必要性 灵活掌握类型验证的使用 #知识点 在给react组件传属性的的时候,我们可以定义属性的类型,此时我们需要下载prop-types这 ...
- React——props的使用以及propTypes
组件的props是只读的,组件不能修改自己的props,在React中,组件可以接受任意的props,如函数,对象,基本类型以及react元素 一.props的使用 1.一些组件并不需要知道自己的ch ...
随机推荐
- 新增分区格式化时提示设备文件不存在:--- No such file or directory的处理方法
[原文链接]:http://blog.itpub.net/28874898/viewspace-774249/ 在系统中的空余空间添加新的分区: fdisk /dev/sda (第一块硬盘上) ...
- 并查集+时光倒流 || [JSOI2008]星球大战starwar || BZOJ 1015 || Luogu P1197
题面:P1197 [JSOI2008]星球大战 题解: 坑点有点多啊,加上我本来就有点头昏脑涨,一道水题写了一万年.. 并查集不支持拆开(但是可以撤销合并),只支持合并.所以把询问离线了,从最后状态到 ...
- k8sCronJob控制器
CronJob用于管理job控制器资源的运行时间,job控制器定义的作业任务在其控制器资源创建之后便会立即执行,但cronjob可以以类似于linux操作系统的周期性任务作业计划的方式控制其运行时间点 ...
- 使用ajax上传图片,并且使用canvas实现出上传进度效果
前端代码: <%@ page contentType="text/html;charset=UTF-8" language="java" %> &l ...
- puppet集群
实验目的: 由于现有的环境中,puppetmaster是单节点,客户端更新时出现了更新失败和时间较长等现象.考虑将puppetmaster做成集群的模式,解决大量客户端更新延时和单节点故 ...
- NFS的搭建
NFS是Network File System的简写,即网络文件系统. 网络文件系统是FreeBSD支持的文件系统中的一种,也被称为NFS. NFS允许一个系统在网络上与他人共享目录和文件.通过使用N ...
- python的基础语法-部分Ⅱ
Python 保留字符 下面的列表显示了在Python中的保留字.这些保留字不能用作常数或变数,或任何其他标识符名称. 所有 Python 的关键字只包含小写字母. 行和缩进 学习 Python 与其 ...
- css动画速度与三次贝赛尔曲线
今天要说的是css的动画曲线. 首先要说的是语法: value: 1.linear:线性动画,也就是匀速,以相同的速度开始以相同的速度结束. 2.ease:默认的动画效果,特点是先快后慢,时间 ...
- Jmeter(二) Jmeter组件介绍
一.测试计划 测试的起点,同时也是其他所有组件的容器 二.线程(用户) Setup 线程组:一种特殊类型的线程,可用于执行预测试操作.即执行测试前进行定期线程组的执行 Teardown 线程组:一种特 ...
- [LOJ2538][PKUWC2018]Slay the Spire:DP
分析 学会新姿势!我们可以通过调整DP顺序来体现选取物品的优先顺序! 显然选取强化牌的最优策略是倍数从高到低,能选就选,最多选\(k-1\)张,选取攻击牌的最优策略是伤害从高到低,尽量少选,但最少选\ ...