首页 > 解决方案 > 使用逻辑运算符解构状态分配

问题描述

this.state.keyboardESLint 上给了我错误“必须使用解构状态分配(react/destructuring-assignment)”。

const keyboard = this.state.keyboard || data[0];

当然,我可以这样做:

let {keyboard} = this.state;
keyboard = keyboard || data[0]; 

但是有没有办法在一行中使用它const?谢谢你。

标签: javascripteslint

解决方案


我不认为有一种方法可以做到这一点const并获得与您完全相同的行为,即data[0]如果它是虚假的,则分配给键盘。

如果你解构键盘并给它一个默认值,如下所示:

const { keyboard = data[0] } = this.state;

keyboarddata[0]仅当它在 中定义时才会设置为this.state。同样的情况也发生在这个语句中:

const { keyboard } = { keyboard: data[0], ...this.state };

推荐阅读