gpt4 book ai didi

javascript - React 组件内的三元条件

转载 作者:行者123 更新时间:2023-11-28 17:36:34 25 4
gpt4 key购买 nike

我弄清楚 handleToggleClick() 方法中的 true/false 条件有什么问题...

当按钮被单击一次时,第二次单击它不想重新识别(变量 prop showWarning 中仍然是 false 状态)。

function WarningBanner(props) {
if (!props.warn) {
return null;
}

return (
<div className="warning">
Warning!
</div>
);
}

class Page extends React.Component {
constructor(props) {
super(props);
this.state = {showWarning: true};
this.handleToggleClick = this.handleToggleClick.bind(this);
}

handleToggleClick() {
this.setState(prevState => ({
showWarning: true ? false : true // this is where I have a problem.
}));
}

render() {
return (
<div>
<WarningBanner warn={this.state.showWarning} />
<button onClick={this.handleToggleClick}>
{this.state.showWarning ? 'Hide' : 'Show'}
</button>
</div>
);
}
}

ReactDOM.render(
<Page />,
document.getElementById('root')
);

最佳答案

 true ? false : true

这始终是false,因为true始终是true,并且三元总是进入第一个表达式。您可能想要:

 showWarning: !showWarning

或者如果您确实需要三元:

 showWarning: showWarning ? false : true

关于javascript - React 组件内的三元条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49011373/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com