reactjs – 如何调用具有先前状态的setState以及redux连接受控组
发布时间:2020-12-15 20:11:51 所属栏目:百科 来源:网络整理
导读:如何调用具有先前状态的setState加上受控组件中的附加值? 典型的例子是: Increment() { this.setState((prevState,props) = ({counter: prevState.counter = props.step})} 但是,如何根据prevState和处理程序中的值更新状态. 例如(我知道这个例子是错误的,
如何调用具有先前状态的setState加上受控组件中的附加值?
典型的例子是: Increment() { this.setState((prevState,props) => ({counter: prevState.counter = props.step}) } 但是,如何根据prevState和处理程序中的值更新状态. HandleOnAddItem(evt,{ value }) { this.setState((prevState,props,value) -> ({items: value,...prevState.items}) } 解决方法
如果要在事件处理函数中传递该值,那么它将在setState中可用而不会传递给updater函数.
写这样: HandleOnAddItem(evt,props) => ({items: value,...prevState.items})) } 如果您只更新一个不依赖于先前状态的状态属性,我认为在您的情况下,那么直接您可以写: HandleOnAddItem(evt,{ value }) { this.setState({ items: value }) } 请查看此答案以获取更多详细信息:How do JavaScript closures work? 例: //setTimeout will call the method after 2sec,similar to setState let abc = a => {setTimeout(() => console.log('a',a),2000)}; abc(10); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |