当结果为Boolean
时,我努力将undefined
的状态从true切换为false。我已经尝试了很多,但是没有用。
构造函数中的布尔状态定义如下:
class UserInfo extends Component{
constructor(props){
super(props);
this.state = {
token : '',
isVisible : true,
};
}
此函数应检查token
是否具有值或undefined
,然后相应地继续执行正确的条件。但是,当token
为undefined
时,isVisible
不会切换为false,无论如何它都将保持为真。
任何建议,我将不胜感激。
ToggleFunction = (token) => {
if (this.state.token === undefined){
this.setState({
isVisible: !this.state.isVisible,
});
}
else {
this.setState(state => ({
isVisible: state.isVisible
}));
}
};
答案 0 :(得分:0)
在ToggleFunction中,您正在从方法调用的参数中检查this.state.token === undefined
,而不是token === undefined
。
尝试:
ToggleFunction = (token) => {
if (token === undefined){
this.setState({
isVisible: !this.state.isVisible,
});
}
else {
this.setState(state => ({
isVisible: state.isVisible
}));
}
};