类型检查

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类型检查的更多相关文章

  1. React文档(十五)使用propTypes进行类型检查

    注意: React.PropTypes 自 React v15.5 起已弃用.请使用 prop-types 库代替. 随着你的应用的开发,你会使用类型检查的方法来捕获很多bug.对于一些应用,你可以使 ...

  2. React 使用 PropTypes 进行类型检查

    注意: React.PropTypes 自 React v15.5 起已弃用.请使用 prop-types 库代替. defaultProps 用来确保 this.props.name 在父组件没有特 ...

  3. react的类型检查PropTypes自React v15.5起已弃用,请使用prop-types

    最近使用React的类型检查PropTypes时,遇到错误:TypeError: Cannot read property 'array' of undefined 看了下自己的React版本:    ...

  4. 使用PropTypes进行类型检查

    原文地址 1.组件特殊属性——propTypes 对Component设置propTypes属性,可以为Component的props属性进行类型检查. import PropTypes from ' ...

  5. 编译器开发系列--Ocelot语言6.静态类型检查

    关于"静态类型检查",想必使用C 或Java 的各位应该非常熟悉了.在此过程中将检查表达式的类型,发现类型不正确的操作时就会报错.例如结构体之间无法用+ 进行加法运算,指针和数值之 ...

  6. Java中静态类型检查是如何进行的

    以下内容来自维基百科,关于静态类型检查和动态类型检查的解释: 静态类型检查:基于程序的源代码来验证类型安全的过程: 动态类型检查:在程序运行期间验证类型安全的过程: Java使用静态类型检查在编译期间 ...

  7. Flow: JavaScript静态类型检查工具

    Flow: JavaScript静态类型检查工具 Flow是Facebook出品的,针对JavaScript的静态类型检查工具.其代码托管在github之上,并遵守BSD开源协议. 关于Flow 它可 ...

  8. Swift类型检查与转换

    继承会发生在子类和父类中,如图所示,是一系列类的继承关系类图,Person是类层次结构中的根类,Student是Person的直接子类,Worker是Person的直接子类.这个继承关系类图的具体实现 ...

  9. O-C相关-10-动态类型检查

    10-动态类型检查 1.动态绑定 1)OC 中方法的调用不由编译器决定,而由运行时决定 2)OC 中没有方法调用,只有消息接收. 一般称消息为选择器 2.动态类型检查 对象在运行时获得类型的能力称为内 ...

随机推荐

  1. 第04项目:淘淘商城(SpringMVC+Spring+Mybatis)【第十一天】(购物车+订单)

    https://pan.baidu.com/s/1bptYGAb#list/path=%2F&parentPath=%2Fsharelink389619878-229862621083040 ...

  2. cf F. Shovels Shop

    https://codeforces.com/contest/1154/problem/F 给定m个折扣 每个折扣的{x,y}的意思是每次购买如果买到确切的x只铲子就其中的最便宜的y只铲子免付: 先贪 ...

  3. linux c 调用 so 库

    /***********编译时要链接 -l dl 库************/ #include<stdlib.h> #include<stdio.h> #include< ...

  4. python学习——函数及其参数

    函数 函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段.函数能提高应用的模块性,和代码的重复利用率.严格来说python只有函数,没有过程,人们理解的函数都是带有return的,而过程 ...

  5. auctex 11.86的墓志铭

    卸载了emacs23,在Ubuntu 软件中心搜索并安装了emacs24.3.把auctex11.86也卸载了(自然,在.emacs文件里也注释掉了它的加载路径,但是我不会删去那段代码的.让注释的那段 ...

  6. Sqlite教程(2) Data Access Object

    因为这个项目的业务层很薄,因此想在架构上尽量保持着「轻」,不会把创建DbHelper的interface. 而是直接用DAO创建DbHelper对象. DAO和DbHelper也是同样使用懒汉模式. ...

  7. vue项目post、put、delete、get向java后端传数组

    通常我们向后端发送数据有两种方式 get.post,后又restful风格出现,又有put.delete等传参方式.但是对于我们来说他们的传参本质还是只有get和post的两种,即 get.delet ...

  8. 迅为iTop开发板使用buildroot构建opencv文件系统

    这次我们来介绍使用buildroot构建opencv开发环境,buildroot 是 Linux平台上一个构建嵌入式Linux系统的框架.整个buildroot是由 Makefile脚本和Kconfi ...

  9. python之golb模块

    golb模块可以查找符合特定规则的文件路径名,查找文件名使用三种不同的匹配符:‘*’,‘?’,‘[]’.'*'匹配0个或多个字符,'?‘匹配单个字符,’[]‘匹配指定范围内的字符,比如[A-Z] 1. ...

  10. EXAM-2018-8-10

    EXAM-2018-8-10 F 突然卡了一会的水题 M 这题有点坑 考虑到一个数列的第一个数肯定会有 我们可以贪心的认为最优的方案是一个数列的第一个与另一个数列所有数的和.但是很容易找到反例 1 2 ...