React
的笔记..欢迎交流 欢迎指正 总之欢迎..github地址 ⭐⭐⭐(懂我意思吧)html
PropTypes 对通讯间传入的值进行校验前端
import PropTypes from 'prop-types'
TodoItem.propTypes = {
// arrayOf 或者 是数字 或者是 字符串
// arrayOf( PropTypes.number , PropTypes.string )
//基本的一些类型
optionalArray: PropTypes.array,
optionalBool: PropTypes.bool,
optionalFunc: PropTypes.func,
optionalNumber: PropTypes.number,
optionalObject: PropTypes.object,
optionalString: PropTypes.string,
optionalSymbol: PropTypes.symbol,
//
optionalNode: PropTypes.node,
// 一个 React 元素
optionalElement: PropTypes.element,
//也能够检查是否是一个类的实例
optionalMessage: PropTypes.instanceOf(Message),
//检查是否是其中确切的值之一
optionalEnum: PropTypes.oneOf(['News', 'Photos']),
//也能够是这些类型其中之一
optionalUnion: PropTypes.oneOfType([
PropTypes.string,
PropTypes.number,
PropTypes.instanceOf(Message)
]),
// 一个某种类型的数组
optionalArrayOf: PropTypes.arrayOf(PropTypes.number),
// 一个特定形式的对象
optionalObjectWithShape: PropTypes.shape({
color: PropTypes.string,
fontSize: PropTypes.number
}),
//isReauired修饰的值表示必须传入 不能为空 且必须是string(或者其余)
optionalisStringReauired: PrpTypes.string.isRequired
// 任何数据类型的值
requiredAny: PropTypes.any.isRequired,
}
复制代码
defaultPropsnode
TodoItem.defaultProps = {
content: 'this is null'
}
复制代码
更多详情见文档 Typechecking With PropTypes Docreact
React.createElement(tagName,{attr}, content)
复制代码
e.target
也能够获取到ref="xxx"
的属性, 而后this.refs.xxx
获取到DOM元素ref={ (xxx) =>{ this.xxx = xxx } }
相应的 this.xxx
就是那个DOM元素了setState()
可是 这个异步是伪异步 只是维护了一个updataQueue 并非说自己就是异步代码实现的
constructor
初始化state和props 以及一些函数this指向问题 constructor
不是React独有的 是es6 class语法 这里完美契合了ReactcomponentWillMount
在组件即将被挂载到页面的时刻自动执行 (尚未被挂载到页面上)componentDidMount
组件被挂载了以后执行props
发生变化时 最开始会有一个componentWillReceiveProps
一个组件从父组件接收参数, 只要父组件的render
函数被从新执行了 子组件的中国生命周期函数就会被执行shouldComponentUpdate
组件被更新以前 自动执行 componentWillUpdate
组件更新以前会被自动执行 可是在shouldComponentUpdate
以后执行 若是 shouldComponentUpdate
return false 就不执行了render
知道要数据更新了 因此 render
函数又会自动执行 更新组件componentDidUpdate
组件更新完毕以后执行componentWillUnmount
当组件即将被销毁时执行 此时还未被移除constructor
时就不须要了
悄咪咪说一下今天是世界微笑日(orz),祝你们快乐😀git