免责声明:我知道已经回答了这个问题,但对于我来说,我需要针对具体情况的解决方案,而其他问题/答案并未真正解决此问题。
在我的本机应用程序中,我执行了许多网络请求,这些请求可能需要很长时间才能完成。每个请求都有两种主要处理方式:
400
错误等等。在这种情况下,必须以显示在屏幕上或作为警报的消息的形式向用户显示一条消息。我的问题是,当卸载组件时,无论请求完成还是要处理提取回调。在第一种情况下,这不是问题:商店更新成功,每个人都很高兴。
在第二种情况下,这是一个问题,因为:
Modal
组件出现问题。这里有什么可行的解决方案?最琐碎的是在每个组件中使用_isMounted
属性,并在每个提取错误处理程序中使用_isMounted == false
时不执行任何操作。但是,此方法是冗长且反模式的。
我还有其他选择吗?
答案 0 :(得分:0)
如果您使用的是react-navigation
,我相信您可以在操作中扣除该状态而不必发出警报。
我的建议是,将导航道具传递给操作方法,并在其中扣除导航状态并根据需要调用警报。