我在组件上做一些画布菜单以做出反应,现在它有条件地工作了。所以我有一个状态:
constructor(props) {
super(props);
this.state = {isToggleOn: true};
this.toggleMenu = this.toggleMenu.bind(this);
}
componentDidMount() {
this.setState({isToggleOn: false});
}
toggleMenu() {
this.setState(prevState => ({
isToggleOn: !prevState.isToggleOn
}));
}
当我的overflow:hidden
状态为 true 且为 false 时,我想使身体isToggleOn
为我要删除{{1 }}来自正文。如何实现?
答案 0 :(得分:6)
您可以添加一个componentDidUpdate
生命周期钩子,以检查isToggleOn
的状态是否已更改,并更新正文overflow
的样式。
componentDidUpdate(prevProps, prevState) {
if (this.state.isToggleOn !== prevState.isToggleOn) {
document.body.style.overflow = this.state.isToggleOn ? 'hidden' : 'visible';
}
}