前言:react小白,记录一下接手react项目后遇到的一些问题
- 在render里用数组动态渲染子组件时,数据变化后报错:The node to be removed is not a child of this node
解决方法: key与子组件绑定一起了,创建个父dom,把key绑定在父dom上
// 举例 return ( <div className="cesium-map-box"> {tooltipDatas && tooltipDatas.map(tooltipData => viewer ? ( <div key={tooltipData.title}> <Tooltip viewer={viewer} tooltipData={tooltipData} /> </div> ) : ( <></> ) )} </div>
- 使用redux,发现复杂类型参数会自动储存,排查发现是redux-persist插件的原因
import { persistReducer } from 'redux-persist'
const rootReducer = {
...
}
export default persistReducer(
{
key: 'root',
storage,
blacklist: ['xxx'] // 在此设置不需要储存的数据
// whitelist: ['tooltipDatas'] // only navigation will be persisted
},
rootReducer
)