目前,React Navigation仅支持goBack(key)
,表示它将返回到所提供屏幕之前的屏幕。
我有Checkout -> Shipping -> Payment -> Review
个屏幕,如果已经记录了运费和付款信息,则用户可以直接从Checkout
到Review
。但是,在Review
上,如果我想编辑送货信息,我需要执行goBack(payment-screen-key)
,我无权访问,因为用户从未导航到付款界面(因此,无法存储在redux中的关键。)
在搜索react-navigation github问题时,似乎没有一种干净的方法来完成这项任务。有没有办法基本上做navigate(routeName)
但不添加另一个屏幕到堆栈?
答案 0 :(得分:0)
从概念上讲,如果您想直接从Checkout
转到Review
,那么当您想要从审核屏幕编辑送货信息时,您就不会回头了,所以当您提到支持该屏幕时不行,也没用。
而是重新考虑结帐流程呢?例如,从Review
导航到您要编辑的部分,而无法从那里前进。
Checkout -> Review -> EditShippingInformation -> goBack(Review) -> EditPaymentInformation -> goBack(Review) -> End
其中EditShippingInformation
和EditPaymentInformation
包含带有保存按钮的表单,该按钮可返回Review
屏幕,而不是navigate
转发到Review
屏幕。也许这些EditShippingInformation
和EditPaymentInformation
屏幕甚至可以是对话框?