React中是否有用于原子操作的信号量

时间:2018-11-27 03:43:43

标签: javascript reactjs atomic

最近,我遇到了fetch()的问题,并且setState()返回到未安装的组件,从而导致错误。 我正在寻找一种不涉及redux或取消fetch()的简单解决方案。

部分解决方案可能是使用局部变量this._isMounted,该变量在componentDidMount设置为true,在componentWillUnMount设置为false

现在,如果您执行:

if (this._isMounted) setState({whatever})

这几乎完成了。 漏洞是条件检查之后到setState()完成之前的时间段。 有没有办法通过信号量来解决这个问题。

例如,通过等待componentWillUnmount信号灯来延迟this._isMountedsetState()的访问?

在某些情况下,延迟听起来可能很糟糕并且不合适,但是在进行IMO操作的情况下,信号量和旧式操作系统解决方案似乎确实相关。

0 个答案:

没有答案