我在React中使用错误边界,并且一切似乎都按预期工作—当存在潜在错误时,会getDerivedStateFromError
被调用,然后返回一个状态以表明存在错误。
但是在组件不再处于错误状态之后会发生什么?我曾尝试使用getDerivedStateFromProps
返回非错误状态,但最终会陷入无限循环。
例如
static getDerivedStateFromProps()
{
return {
hasError: false
}
}
static getDerivedStateFromError(error) {
return {
hasError: true
};
}
似乎React应该只调用这些方法之一,而不是两者。关于如何使组件进入或退出错误状态的任何想法?