如何实现 Nullable 特性es6 /questions/tagged/es6?我需要支持我以前同事的源代码,他使用了太多的解构功能es6 /questions/tagged/es6。到处都是这样的:
dispatch(
loadImports(response.items.map(({ importRecord: { ['import']: importId } }) => importId))
)
在这个例子中,我可能会得到TypeError: Cannot read property 'import' of null
error.
我不想将整个解构重写为常规条件。或者如果没有,如何处理它们而不重写?
UPD:
同事期望的版本:https://jsbin.com/fesewiy/edit?js,控制台 https://jsbin.com/fesewiy/edit?js,console
当前版本:https://jsbin.com/qirixil/edit?js,控制台 https://jsbin.com/qirixil/edit?js,console
因为您使用的是地图,所以您需要为每个项目获取一些结果。
更改最少的最佳解决方案是仅使用一级解构,然后过滤数组以保留非虚假值的数组。
dispatch(
loadImports(response.items
.map(({ importRecord }) => importRecord && importRecord.import)
.filter(v => v)
))
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)