React类型检查
类型检查
import PropTypes from 'prop-types'
类名==List
List.propTypes = {
list: PropTypes.array
}
// 默认值
List.defaultProps = {
list:[]
}
props:
1.只读不能修改(不能再赋值表达式左边)
2.ComponentWillReceiveProp()
3.propTypes
4. defaultProps
5.children
web > native
native 需要下载安装包
// react-router-dom
web 直接有的
//react-router-native
nvm
| 命令 | 说明 |
|---|---|
| nvm list available | 查看所有版本 |
| nvm install 版本号 | 下载 |
| nvm list | 列出当前可用的包 |
| nvm use 版本号 | 使用哪一个包 |
| history | 历史 |
路由模式
Vue使用hash模式
React 使用两种模式
HashRouter
# 哈希模式(HashRouter) 锚点
浏览器端忽略#(无法把#及之后带过去)
browserRouter
路由localhost地址
访问地址不存在,进行重定向
Node起服务
路由
1.下载 react-router-dom
2.
import {
HashRouter as Router,
Link,
Route,
Switch
} from ' react-router-dom'
3.<Router></Router>
<Switch>
//当route不给path属性时会匹配任意路由
<Router component={()=><h1>未匹配的路由</h1>}></Router> 无path匹配任何路由
当redirect不给from属性时也会匹配任意路由
<Redirect exact from='/' to='/index'></Redirect>
</Switch>
Link, //导航标签 to属性声明要跳转的路径
Route,//占位标签,如果path与当前路径一模一样时才匹配
Switch // 返回匹配的第一个路由
exact 表示精准匹配,当path与当前路径一模一样时才匹配
传参
1.地址栏传参
'/index/:id?' 传递变量
'/index/10' 传递常量
'/index?a=1&b=2' 直接传递数据
Link 标签的to属性
to={{
pathname:'/cart',
data:{a:1,b:2}
}}
// 在location接收
回退版本
window.history.go(-1)
window.history.back()
透传
a => b => c
b只能接收a的值不能修改a的值
replace
有两种常见的渲染组件的方式:
component和render。前者是使用React.createElement方法新建一个元素,而后者仅仅是调用现有组件的render方法
React类型检查的更多相关文章
- React文档(十五)使用propTypes进行类型检查
注意: React.PropTypes 自 React v15.5 起已弃用.请使用 prop-types 库代替. 随着你的应用的开发,你会使用类型检查的方法来捕获很多bug.对于一些应用,你可以使 ...
- React 使用 PropTypes 进行类型检查
注意: React.PropTypes 自 React v15.5 起已弃用.请使用 prop-types 库代替. defaultProps 用来确保 this.props.name 在父组件没有特 ...
- react的类型检查PropTypes自React v15.5起已弃用,请使用prop-types
最近使用React的类型检查PropTypes时,遇到错误:TypeError: Cannot read property 'array' of undefined 看了下自己的React版本: ...
- 使用PropTypes进行类型检查
原文地址 1.组件特殊属性——propTypes 对Component设置propTypes属性,可以为Component的props属性进行类型检查. import PropTypes from ' ...
- 编译器开发系列--Ocelot语言6.静态类型检查
关于"静态类型检查",想必使用C 或Java 的各位应该非常熟悉了.在此过程中将检查表达式的类型,发现类型不正确的操作时就会报错.例如结构体之间无法用+ 进行加法运算,指针和数值之 ...
- Java中静态类型检查是如何进行的
以下内容来自维基百科,关于静态类型检查和动态类型检查的解释: 静态类型检查:基于程序的源代码来验证类型安全的过程: 动态类型检查:在程序运行期间验证类型安全的过程: Java使用静态类型检查在编译期间 ...
- Flow: JavaScript静态类型检查工具
Flow: JavaScript静态类型检查工具 Flow是Facebook出品的,针对JavaScript的静态类型检查工具.其代码托管在github之上,并遵守BSD开源协议. 关于Flow 它可 ...
- Swift类型检查与转换
继承会发生在子类和父类中,如图所示,是一系列类的继承关系类图,Person是类层次结构中的根类,Student是Person的直接子类,Worker是Person的直接子类.这个继承关系类图的具体实现 ...
- O-C相关-10-动态类型检查
10-动态类型检查 1.动态绑定 1)OC 中方法的调用不由编译器决定,而由运行时决定 2)OC 中没有方法调用,只有消息接收. 一般称消息为选择器 2.动态类型检查 对象在运行时获得类型的能力称为内 ...
随机推荐
- RDD(二)——创建
RDD的创建 1)从内存中创建 从集合中创建RDD,Spark主要提供了两种函数:parallelize和makeRDD val raw: RDD[Int] = sc.parallelize(1 to ...
- Spring Boot从入门到放弃-Spring Boot 整合测试
站长资讯摘要:使用Spring Boot 整合测试,对Controller 中某个方法进行测试或者对Service,Mapper等进行测试,不需要运行项目即可查看运行结果是否和期望值相同,Spring ...
- iOS keychain报错 25293
经过查找发现25293对应的错误是如下,即用户名和密码不正确. errSecAuthFailed = -25293, /* The user na ...
- 虚拟机enp0s8网卡无法联网和开放linux端口
1.虚拟机enp0s8网卡无法联网解决 在 VirtualBox 中安装好 centos7 后,发现使用 ping 命令测试连接外网 IP 地址,会报错,或者host-only网卡无ip,mobaXt ...
- VS制作dll、def文件的使用、dll加入工程使用
1.VS新建工程,在选项的时候,选择dll和空项目,保持干净的dll库: 创建完以后,添加头文件以及源文件. 2.将外部模块使用的接口导出: (1)函数导出: __declspec(dllexport ...
- Self-examination
第一次参加省赛,算是真正感受到比赛的残酷.拿到好成绩,需要平时大量的积累,甚至也需要一点运气,然后我还做的不够,但我觉得我可以做得更好. 我之前是没有任何基础,大一才刚刚从知码开门入门.然后刚开始一直 ...
- Error、Bias、Variance及损失函数理解
个人感觉理解误差.偏置.方差的一个好的解释,感谢分享:https://baijiahao.baidu.com/s?id=1601092478839269810&wfr=spider&f ...
- BGP联盟
---恢复内容开始--- 1. 每台路由器设置loop back口,r1和r6另外多设置两个 2. R2 R3 R4 R5 R6做ospf 以R2为例: ospf 1 router-id 2.2.2. ...
- 磁盘处于脱机状态"解决办法
由于管理员设置的策略,该磁盘处于脱机状态"解决办法 1.运行:cmd 2.输入:DISKPART.exe 3.DISKPART> san 4.DISKPART> san poli ...
- Python爬虫之爬取站内所有图片
title date tags layut Python爬虫之爬取站内所有图片 2018-10-07 Python post 目标是 http://www.5442.com/meinv/ 如需在非li ...