gpt4 book ai didi

javascript - 使用 prevState setState 失败

转载 作者:行者123 更新时间:2023-12-03 04:05:10 27 4
gpt4 key购买 nike

下面我的 react 方法有什么问题

toggleReply = () => {
this.setState(prevState => ({ reply: !prevState.reply }))
}

我知道我可以this.setState({reply: !this.state.reply})但是上面的代码也可以工作,但它没有,有任何线索吗?

最佳答案

您的 setState 有效,按照docs - 尝试下面的这个片段。这是假设您的 Component 类已正确定义,并且您的toggleReply 处理程序在构造期间绑定(bind)到 this,或者您使用箭头函数来调用它。

class Thing extends React.Component {
constructor(props) {
super(props);
this.state = { reply: false };
this.toggleReply = this.toggleReply.bind(this);
}

toggleReply() {
this.setState(prevState => ({ reply: !prevState.reply }))
}

render() {
return (
<div>
<button onClick={this.toggleReply}>Toggle Reply</button>
<span>{` ${this.state.reply}`}</span>
</div>
);
}
}

ReactDOM.render(
<Thing />,
document.getElementById('root')
);
<script src=" https://cdnjs.cloudflare.com/ajax/libs/react/15.6.1/react.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.6.1/react-dom.min.js"></script>
<div id="root"></div>

关于javascript - 使用 prevState setState 失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44594025/

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