我有一个具有如下属性的组件,可以接受布尔值
let this.props.error = null; //For illustration purpose
<AlertModal
isVisible={this.props.error}
/>
this.props.error
将是一个初始值为null的对象,它是false值之一。上面的代码将向我发出警告
警告:道具类型失败:道具
isVisible
被标记为必需,但其值为空
然后我将其更改为以下版本
<AlertModal
isVisible={this.props.error ? true : false}
/>
以前的警告消失了,但埃斯林特说新警告
在条件表达式中不必要地使用布尔文字
为什么在第一种情况下null不被视为假值?对于这种用例,除了单独编写以处理值之外,推荐的最佳处理方法是什么?