getDerivedStateFromError 之后重置状态

Jim*_*ing 5 reactjs

我在 React 中使用错误边界,一切似乎都按预期工作\xe2\x80\x94getDerivedStateFromError当存在潜在错误时被调用,然后我返回一个状态来表示存在错误。

\n\n

但是组件不再处于错误状态后会发生什么?我尝试使用getDerivedStateFromProps返回非错误状态,但最终进入无限循环。

\n\n

例如

\n\n
    static getDerivedStateFromProps()\n    {\n        return {\n            hasError: false\n        }\n    }\n\n    static getDerivedStateFromError(error) {\n        return {\n            hasError: true\n        };\n    }\n
Run Code Online (Sandbox Code Playgroud)\n\n

看来 React 应该只调用其中一个方法,而不是同时调用两者。关于如何使组件进入和退出错误状态有什么想法吗?

\n