javascript - 有没有办法内联这个javascript代码?
问题描述
我正在使用 React 框架。
这是我所拥有的:
const myObject = this.props.objects.find(({id}) => ({id} === this.state.selectedObject.id));
const name = !isEmpty(myObject) ? myObject.name : '';
我避免执行以下操作:
const name = !isEmpty(this.props.objects.find(({id}) => ({id} === this.state.selectedObject.id))) ? this.props.objects.find(({id}) => ({id} === this.state.selectedObject.id)).name : '';
因为执行 find() 两次没有意义。但我只是想知道是否有一些很好的语法可以使它成为我所缺少的单行符。
解决方案
您可以结合使用对象解构和默认参数,例如:
const {name = ''} = this.props.objects.find(({id}) => id === this.state.selectedObject.id) || {};
万一find()
方法,没有找到任何东西然后undefined
被返回,并将设置name
为一个空字符串。
推荐阅读
- c# - 使用静态内容重构几个相同的方法
- api - Hyperledger Fabric:余额转移 API(用户注册)由于错误而无法生成注册密钥
- angular - Angular Dynamic 组件 ViewChildren 始终未定义
- vue.js - Vuetify 中的 VSelect 在 DOM 中显示空注释而不是渲染
- webpack - 无法使用 nextjs 项目解析兄弟文件夹中的别名
- javascript - 导入电子时 fs.existsSync 不是函数
- javascript - 无法解析方括号
- ibeacon - Altbeacon 停止在 Android10 上工作,并且根本没有调用 didEnterRegion
- python-3.x - Python3 插入 MariaDB 失败
- javascript - 在表格中以角度显示单个对象的数据时出现问题