我在启动操作页面时找到了一种方法,例如: Actions.Home({onBack :()=> console.log('custom back callback')});但我不认为这对我有用。以下是客户端希望如何完成应用程序的屏幕模型:,其中后退按钮将用作数据输入页面的保存按钮。
当我启动能够处理他们输入的数据的页面时,我不相信我可以传递函数。
我需要的是处理数据并保存,然后继续回到上一页,或者如果数据无效,那么我想说“保持并进行更改,或者不保存而离开?”。
一旦我登陆页面并访问他们将要使用的字段,我该如何提供onBack功能?
我找到了(或者至少是一种)这样做的方法。在componentDidMount中,您希望刷新页面并提供onBack函数,因为您可以访问它:
componentDidMount() {
setTimeout(()=> {
Actions.refresh({onBack:()=>this.onBack()})
});
}
在render()方法中,您可以添加一个包含后退按钮的导航栏,当单击该后退按钮时,会调用'onTap()'函数,然后您可以在onTap()函数中编写任何您想要的内容。要返回,您可以使用Actions.pop()方法。
所以你可以这样做,如果数据被处理,Actions.pop()别做其他事情。