20 说说你用react有什么坑点
JSX做表达式判断时候,需要强转为boolean类型- 如果不使用
!!b进行强转数据类型,会在页面里面输出0。
- 如果不使用
render() {
const b = 0;
return <div>
{
!!b && <div>这是一段文本</div>
}
</div>
}
- 尽量不要在
componentWillReviceProps里使用setState,如果一定要使用,那么需要判断结束条件,不然会出现无限重渲染,导致页面崩溃 - 给组件添加
ref时候,尽量不要使用匿名函数,因为当组件更新的时候,匿名函数会被当做新的prop处理,让ref属性接受到新函数的时候,react内部会先清空ref,也就是会以null为回调参数先执行一次ref这个props,然后在以该组件的实例执行一次ref,所以用匿名函数做ref的时候,有的时候去ref赋值后的属性会取到null - 遍历子节点的时候,不要用
index作为组件的key进行传入
