reactjs - 可选问号和对象销毁
问题描述
const { isSaved } = props?.options;
这段代码有意义吗?在这里使用的目的是什么?
?
如果我这样做会更好吗
const { isSaved = null } = props.options;
解决方案
第一个代码没有意义。使用可选链接,当链的任何部分失败时,整个表达式将评估为undefined
. 但是你不能访问 的属性undefined
,所以如果链失败,引擎会抛出:
const props = undefined;
const { isSaved } = props?.options;
但在 React 中props
,如果你指的是通常称为 props 的东西,它总是真实的。在最坏的情况下,它将是一个空对象。
您的第二个代码更有意义,但如果options
碰巧不是道具,它仍然会抛出:
const props = {};
const { isSaved = null } = props.options;
替换为空对象:
const props = {};
const { isSaved = null } = props.options || {};
console.log(isSaved);
推荐阅读
- r - 如何在表格的每个单元格中拆分字符串后获取唯一值和计数
- r - 如何将串行数据流读入闪亮的应用程序
- wpf - WPF 单元测试中的 Xaml 资源(如字符串表)
- excel - 将文本文件导入 Excel 被第二次运行代码捕获
- continuous-integration - Gitlab CI/CD 集成推送事件过滤器
- asp.net-mvc - 如何在 asp.net mvc 项目中添加 node_modules 文件?
- php - 使用 Curl 和 PHP 从 Mailgun 邮件列表中取消订阅或删除用户
- sql - Oracle SQL TO_CHAR 返回不正确的经络指标
- python - 如何在 Seaborn 中轻松平滑热图?
- c# - 检查arraylist中的所有字符串是否包含在其他arraylist中