如何使用变量sexname作为回报?错误“ sexname
未定义”,如何解决?
render()
{
const { loading,popupVisible,edit } = this.state;
const{information, about, data, photo,}=this.props;
if(information.sex === 'w'){
let sexname = 'женский'
}else if(information.sex === 'm'){
let sexname = 'мужской'
}else {
let sexname ='Пока не указано';
}
return (
<Aboutinfo>{
information.sex !== null && information.sex !== undefined ?
sexname
: 'Пока не указано'
}</Aboutinfo>
);
}
答案 0 :(得分:3)
let
被限制作用域,因此它仅在立即块中可用(一个块是{ .... }
之间的任何内容,在您的情况下,它位于if
语句中,我们可以解决通过将let sexname
移动到函数顶部。
render()
{
const { loading,popupVisible,edit } = this.state;
const{information, about, data, photo,}=this.props;
let sexname = ""
if(information.sex === 'w'){
sexname = 'женский'
}else if(information.sex === 'm'){
sexname = 'мужской'
}else {
sexname ='Пока не указано';
}
答案 1 :(得分:0)
您每次都在本地重新定义它自己的块,因此它在每个块{}
之后超出范围。将其移到const
声明下方,它应该可以工作。
let sexname;
...
else {
sexname = ...;
}