带密钥的React Navigation goBack

时间:2018-06-11 22:24:42

标签: react-native react-navigation

目前,React Navigation仅支持goBack(key),表示它将返回到所提供屏幕之前的屏幕。

我有Checkout -> Shipping -> Payment -> Review个屏幕,如果已经记录了运费和付款信息,则用户可以直接从CheckoutReview。但是,在Review上,如果我想编辑送货信息,我需要执行goBack(payment-screen-key),我无权访问,因为用户从未导航到付款界面(因此,无法存储在redux中的关键。)

在搜索react-navigation github问题时,似乎没有一种干净的方法来完成这项任务。有没有办法基本上做navigate(routeName)但不添加另一个屏幕到堆栈?

1 个答案:

答案 0 :(得分:0)

从概念上讲,如果您想直接从Checkout转到Review,那么当您想要从审核屏幕编辑送货信息时,您就不会回头了,所以当您提到支持该屏幕时不行,也没用。

而是重新考虑结帐流程呢?例如,从Review导航到您要编辑的部分,而无法从那里前进。

Checkout -> Review -> EditShippingInformation -> goBack(Review) -> EditPaymentInformation -> goBack(Review) -> End

其中EditShippingInformationEditPaymentInformation包含带有保存按钮的表单,该按钮可返回Review屏幕,而不是navigate转发到Review屏幕。也许这些EditShippingInformationEditPaymentInformation屏幕甚至可以是对话框?