现在,在这之后,如果用户决定再次颜色的图,他/她会选择在主页上的特定选项,该流程将继续照常进行。这是因为付款后,用户将返回到主页(这已经加载),和所有其他屏幕将重置。随着应用的完整的循环来了。 ComponentWillUnmount被称为colorInDiagram。
如果用户关闭应用程序,而在步骤3(着色图),在重新打开该应用程序,我已编码它从其中应用程序是离开的回收。但是,当用户完成着色并付款后,他/她没有返回主页从colorInDiagram组件直接启动应用程序。该网页加载的第一次。
所以现在,当用户的联系,再次从网页颜色的图,它加载了colorInDiagram,因为它是离开的用户继续进行付款。 (它只是推动部件,因为它在堆栈中存在当前)。 ComponentWillUnmount是不是在colorInDiagram调用。
预期的行为: - 它应该是没有填充颜色的空白图,如果它是一个新的安装和部件的不只是重新渲染,因为它是离开的最后一次使用的时候。
*可能的解决方法: - *我觉得我必须手动卸载colorInDiagram组件。
问题: - 我怎么手动卸载反应机组件。
另外,如果你们有什么其他的见解和问题估计或解决方案,请不要共享!
只是,这样它可以被接受为这里的答案是我在评论区建议的解决方案:
您可以使用StackAction.reset方法:https://reactnavigation.org/docs/en/stack-actions.html#reset重置您的导航堆栈在您的屏幕渲染colorInDiagram是不是在堆了这样卸载组件
从文档:
复位动作擦拭整个导航状态,并与几个动作的结果替换它。
import { StackActions, NavigationActions } from 'react-navigation';
const resetAction = StackActions.reset({
index: 0,
actions: [NavigationActions.navigate({ routeName: 'Profile' })],
});
this.props.navigation.dispatch(resetAction);