typescript - 打字稿如何使用可选链接
问题描述
为什么我在这个值分配上得到一个错误;
state.user?.weight.budget = budget;
我试过这样的一对
(state.user?.weight.budget ?? 0) = budget;
那也行不通。我做错了什么。我不明白
先感谢您。
解决方案
可选链不支持赋值。对该功能进行了讨论,但他们认为它超出了最初提案的范围,并且可能“稍后”实施。请特别查看此评论。
您的后一个示例(state.user?.weight.budget ?? 0) = budget;
也不起作用,因为您不仅要尝试进行可选的链接分配,而且还要尝试分配给可能不是变量或变量属性的表达式(0 = budget
?)。
目前,在存在可能未定义的属性的情况下进行赋值的唯一方法user
是通过没有可选链接的控制流,如下所示:
if (state.user != null) state.user.weight.budget = budget;
或一些等效的测试和可能分配代码。好的,希望有帮助;祝你好运!
推荐阅读
- android - 有没有办法将 CellInfoNr 设置为 CellSignalStrengthNr?
- c++ - C++ 程序无法在未安装 VS 的 Windows 系统上运行“未找到 VCRUNTIME140.dll”
- neo4j - 创建图表报告“无协议”错误消息
- c - 将链表转换为字符数组
- node.js - 防止通过ip地址访问
- r - 我无法添加此字体,我不明白是什么导致了我遇到的问题
- powershell - powershell 使用正则表达式过滤文件名
- javascript - 使用 React 和 Typescript 创建可重用的按钮组件,但出现不可分配的类型错误
- typescript - 如何在 Typescript 中测试泛型类型?不是泛型类型的实现,而是作为类型保护?
- reactjs - 为什么 react-native Animated View 不渲染?