动态传递键名获取数据遇undefined问题及data.data层级处理求助
解决方法
直接将所有数据获取路径从data[successratio_${sig_name}]修改为data.data[successratio_${sig_name}]即可,同时建议添加可选链操作符?.避免因data或data.data不存在导致报错,修改后的代码如下:
<CircularProgress progressPercent={data?.data?.[`successratio_${sig_name}`]} size={iconSize} strokeWidth={5} text={`${data?.data?.[`successratio_${sig_name}`] || 0}%`} bgColor={isDarkMode ? colors.text : "#F4F4F4"} pgColor={colors.buttonPrimary} textColor={colors.text} />
关键说明:
- 层级调整:原数据直接挂载在
data下,现在改为嵌套在data.data层级,所以必须补上.data这一层访问路径 - 异常防护:
?.操作符会在访问的对象为null/undefined时直接返回undefined,不会抛出运行时错误 - 文本兼容:用
|| 0给文本拼接设置默认值,避免出现undefined%的异常显示
内容的提问来源于stack exchange,提问作者Vix Hunk
相关产品推荐
相关产品推荐

