未捕获的类型错误:无法读取 null 的属性“value”(React/JS/TS)
2022-08-31
27
我创建了一个函数,根据值呈现不同的 backgroundColor。
const backgroundColorResolver = () => {
allQuestions.map((aq) => {
if (aq.averageAnswerValue <= 4) return "#EE7362";
if (aq.averageAnswerValue > 4 && aq.averageAnswerValue < 7)
return "#FDCF5B";
return "#068466";
});
};
在 tsx 中的 return 下,我执行:
<View style={questionAverageResultStyling.indexContainer}>
{allQuestions.map(({ averageAnswerValue, key }) => (
<View
style={{
backgroundColor: `${backgroundColorResolver}`,
margin: "0.5",
width: "100%",
height: "25px",
}}
>
<Text style={questionAverageResultStyling.indexText} key={key}>
{averageAnswerValue}
</Text>
</View>
))}
</View>
但是,我收到错误消息“无法读取 null 的属性‘值’”。具体来说,在 style={{ backgroundColor:
${backgroundColorResolver
} 中,有谁知道为什么以及如何使用其他样式(边距、宽度、高度)呈现此函数?如果信息缺失,请告诉我,我会添加它。
1个回答
backgroundColorResolver 是一个函数对象。您将其用作具有值的对象,而实际上并未调用该函数。因此,不要输入:
backgroundColor: `${backgroundColorResolver}`
输入:
backgroundColor: `${backgroundColorResolver()}`
此外,我不确定该函数如何读取 allQuestions 变量。也许您也应该重构它。
apasic
2022-08-31