TypeError:无法获取未定义或空引用的属性“text”
2019-07-22
534
import React from 'react';
const seasonConfig = {
summer: {
text: 'lets hit the beach',
iconName: 'sun'
},
winter: {
text: 'Burr it is cold',
iconName: 'snowflake'
}
};
const getSeason = (lat, month) => {
if (month > 2 && month < 9){
return lat > 0 ? 'Summer' : 'Winter';
} else {
return lat > 0 ? 'Winter' : 'Summer';
}
};
// Ternary Expression
const SeasonsDisplay = props => {
const season = getSeason(props.lat, new Date().getMonth());
const {text, iconName } = seasonConfig[season];
return (
<div>
<i className={`${iconName} icon`} />
{text}
<i className={`${iconName} icon`} />
</div>
);
};
export default SeasonsDisplay;
我尝试将选项提取到 ReactJS 中的配置对象,该如何解决? 错误:TypeError:无法获取未定义或空引用的属性“text”
2个回答
seasonConfig[season]
要求
season
为小写
summer
或
winter
,但
getSeason
返回的是标题大小写
'Summer'
或
'Winter'
。如果您让
getSeason
返回小写字符串,这应该可以解决您的问题。
helloitsjoe
2019-07-22
const getSeason = (lat, month) => {
if (month > 2 && month < 9) {
return lat > 0 ? "summer" : "winter";
} else {
return lat > 0 ? "winter" : "summer";
}
};
seasonConfig[season] 需要较小的情况 - “夏季”和“冬季”
Kannan G
2019-07-22