react笔记
目录
1、通过ref获取组件或DOM
|
|
2、redux一些注意
redux更新store是异步的,如store的一个属性start:true,通过action修改start:false,然后调用另一个方法获取start,这个start值可能还是true.
更新store最好能够细化到更新哪一个属性,比如更新info下面的一个name属性,最好直接更新name,避免“先取info对象->修改name->更新info”这种情况(不绝对,某些时候使用这种方式更方便直观),下面提供一种更新某个对象下某个属性值得方法,如更新a{b{c:’’}}的c属性,key格式可以是’a.b.c’
123456789101112131415161718export function diagnoseReducer(state = initState, action) {switch (action.type) {case UPDATE_FIELD:let {key,value} = action.args;if(key===undefined||key===null)throw '参数不符合{key:"",value:""}格式或key未定义';let keys = key.split(/\./),len = keys.length,obj = state;for(let i=0;i<len-1;i++){obj = obj[keys[i]];if(obj==undefined)throw `字段'${keys[i]}'不存在,UPDATE_FIELD错误`;}obj[keys[len-1]] = value;return {...state};default:return state;}}组件继承时,如果组件需要connect到redux,只能connect到具体的某个子组件上,不能connect到父组件上,父组件可以访问到子组件connect到的数据和方法