0

我想通过反应导航实现无限堆栈,这意味着我需要一个动态堆栈导航器,我可以在其中推送无限数量的屏幕(最多 20 个屏幕就足够了)。您可以像在亚马逊应用程序中这样想象,您可以在产品详细信息中单击相关产品,它会向您显示另一个产品详细信息屏幕,您可以在其中执行相同的操作。

你们中有人知道怎么做吗?

4

1 回答 1

3

这可以通过react-navigation

而不是使用this.props.navigation.navigate('ScreenName')你可以使用this.props.navigation.push('ScreenName')

您可能希望将某种描述传递给屏幕,以便它知道要渲染什么,您可以通过传递参数来做到这一点

this.props.navigation.push('ScreenName', { key: productId })

您只需要设置一些模板屏幕,然后可以通过您传递给它们的参数来填充这些模板屏幕。

您可以在此处查看有关 react-navigation 的不同功能的更多信息 https://reactnavigation.org/docs/en/navigation-prop.html#navigator-dependent-functions

这是一个显示它工作的小吃https://snack.expo.io/@andypandy/infinite-navigation

在我传递位置和日期的点心中,您可以在每个屏幕被推入堆栈时看到这些更新。按下Go Back返回堆栈上的一个位置。

于 2019-01-25T17:37:49.523 回答