我想看看是否可以为组件的每个状态更新调用一个函数。由于react setState()接受回调作为seconds参数,是否有办法在每次状态更改时调用函数?
我尝试了一些,但进展不顺利。您可以检查here。
如果我绑定的方式有问题,请纠正我。
答案 0 :(得分:1)
如果我理解正确,则可以使用$ systemctl daemon-reload
$ systemctl restart docker
来检查状态是否已更新并在其中调用该函数。
请注意,componentDidUpdate
已过时。
答案 1 :(得分:0)
您作为第二个参数传递的回调旨在访问当前状态并返回新状态。您可以创建包装器功能,以向状态更改添加功能,例如:
const onStateChange = (...) => {
//DO SOMETHING HERE
this.setState(...);
};
然后,每当您想要更改状态时,请以增加的行为调用此函数。希望这会有所帮助。
答案 2 :(得分:0)
您不必在每次状态更改时都覆盖要执行的setState
回调,而可以在react中使用componentDidUpdate
生命周期方法
componentDidUpdate(prevProps, prevState) {
//compare this state and prevState and take action here
}
或者您可以编写执行函数和setState的函数
_setState = (updatedObj) =>{
this.setState(updatedObj, this.callback)
}