javascript - 使用逻辑运算符解构状态分配
问题描述
在this.state.keyboard
ESLint 上给了我错误“必须使用解构状态分配(react/destructuring-assignment)”。
const keyboard = this.state.keyboard || data[0];
当然,我可以这样做:
let {keyboard} = this.state;
keyboard = keyboard || data[0];
但是有没有办法在一行中使用它const
?谢谢你。
解决方案
我不认为有一种方法可以做到这一点const
并获得与您完全相同的行为,即data[0]
如果它是虚假的,则分配给键盘。
如果你解构键盘并给它一个默认值,如下所示:
const { keyboard = data[0] } = this.state;
keyboard
data[0]
仅当它在 中定义时才会设置为this.state
。同样的情况也发生在这个语句中:
const { keyboard } = { keyboard: data[0], ...this.state };
推荐阅读
- docker - Docker 无法使用退出代码 139 构建映像
- php - 使用 PHP 加载更多内容会阻止在快速点击时调用两次事件处理程序?
- php - 将文本添加到 Wordpress 帖子标题,从菜单中排除
- android - Android - 如何从 API 加载多个列表?
- reactjs - 我如何在 .map 之后排序?
- javascript - 使用 Node JS(fs 和 http)保存后无法打开 JPG 或 PNG
- markdown - 如何在 Markdown 方程中写案例
- javascript - 使用 javascript 监听 cmd + shift + z 和 cmd + z 的最佳方式
- c - 递减函数
- python - CountDistinct 基于来自另一列 Pyspark 的条件