我加入了一个大型项目的大型开发团队,在他们的指导方针中,强制性地将每个布尔属性作为可选属性输入,然后默认它们为错误;原因是:***“良好实践”***。但是,没有人能够给予我一个很好的解释,编写指南时在场的人已经不在团队中了。
下面是一个小例子:
type ButtonProps = {
isChecked?: boolean
}
const Button: FC<ButtonProps> = ({isChecked = false}) => {
...
有没有人遇到过类似的实践,或者知道用这种方式编写布尔值的好理由?
2条答案
按热度按时间idfiyjo81#
这与jsx语法的布尔快捷方式有关:
这样,每个语法都是有效的,并且isChecked在控件中具有布尔类型。
另一方面,你有:
这样最后一个语法就错了。
最后一条路:
这种方法语法很好,但isChecked是布尔值|未定义,它可能导致
isChecked === false
等条件下的细微错误。ejk8hzay2#
这是一个很好的实践,因为你可以更容易地调用组件,包括
isChecked
或不作为prop,因为prop是一个布尔值,或者如果有状态,你可以用状态来控制它。这就是为什么该做法可被视为更好的做法。