React杂技整理

2018-11-28  本文已影响0人  可爱的木头

东西比较乱是边做变整理的一些知识点
-version 16.6.1
react 初始化事件 值
注意 onClick className
组件生命周期问题

组建名必须以大写字母开头

子类向父类触发父类事件或者父类state状态变更

子类和父类的定义没有变量提升的问题

子类继承父类 用props 只读

map循环数组 记得return

三元运算法则 多个html 或者多个三元运算法则 在render的解决方式为 变为数组

this.handleclick.bind(this,要传的参数) handleclick(传过来的参数,event)
单行注释 {/* /}
多行注释 /
*/

在理想状况下,一个组件应该只做一件事情 如果这个组件功能不断丰富,它应该被分成更小的组件。

父类componentDidMount 异步请求 子类componentDidMount 不执行 因为初次没有值传入

function handleObject(v){
    var a = {};
    for(var i in v){
        if(v[i] instanceof Object){
            a = Object.assign(handleObject(v[i]),a)
        }else{
            a[i] = v[i]
        }
    }
    return a
}
var e = {a:1,b:3,f:{s:3,b:4,g:{o:5,b:5,g:2}}}
var mm = handleObject(e);
var a = [1,3,4,5,56,76,[2,3,4,45,56,[2,3,4,4,56,[23,4,5,65]]]]
function handleArray(value){
    var c = []
    for(var i =0;i<value.length;i++){
        if(value[i] instanceof Array){
            c = c.concat(handleArray(value[i]));
        }else{
            c.push(value[i])
        }
    }
    return c
    
};
var d = handleArray(a);

递归 数组 concat 对象 Object.assign

新生命周期在各个阶段的调用情况
挂载

constructor
getDerivedStateFromProps

render

componentDidMount

更新

getDerivedStateFromProps

shouldComponentUpdate

render

getSnapshotBeforeUpdate

componentDidUpdate

卸载

挂载阶段,只有当执行到render的时候,父组件的constructor才开始执行,知道子组件挂载完成(componentDidMount),父组件才算挂载完成
更新阶段,类似挂载阶段,只有父组件执行到render,才开始子组件的getDerivedStateFromProps -> shouldComponentUpdate -> render,但再父组件的getSnapshotBeforeUpdate是紧随在子组件的getSnapshotBeforeUpdate后,然后子组件在componentDidUpdate

父组件调用forceUpdate
组件调用forceUpdate方法后,不会执行shouldComponentUpdate,会执行getDerivedStateFromProps,然后再render,后面的生命周期和更新一致

label 属性for 为htmlFor

传送门:React Portal

上一篇 下一篇

猜你喜欢

热点阅读