目前,React Navigation仅支持 goBack(key)
,表示它将返回到所提供屏幕之前的屏幕 .
我有 Checkout -> Shipping -> Payment -> Review
屏幕,如果已经记录了运输和付款信息,它将直接从 Checkout
到 Review
. 但是,在 Review
上,如果我想编辑送货信息,我需要做 goBack(payment-screen-key)
,我无权访问,因为用户从未导航到付款界面(因此,无法将该密钥存储在redux中) .
在搜索react-navigation github问题时,它并不是完成此任务的简洁方法 . 有没有办法基本上 navigate(routeName)
但不添加另一个屏幕到堆栈?
1 回答
从概念上讲,你已经
Checkout
直接从Checkout
到Review
,所以当你提到支持那个屏幕时,没有意义 .相反,重新考虑一下结账流程呢?例如,从
Review
导航到您要编辑的部分,而无法从那里前进 .Checkout -> Review -> EditShippingInformation -> goBack(Review) -> EditPaymentInformation -> goBack(Review) -> End
其中
EditShippingInformation
和EditPaymentInformation
包含一个带有保存按钮的表单,该按钮可以返回到Review
屏幕而不是navigate
转发到Review
屏幕 . 也许这些EditShippingInformation
和EditPaymentInformation
屏幕甚至可以是对话框?