我想实现一个带有反应导航的无限堆栈,这意味着我需要一个动态的堆栈导航器,可以在其中推送无限数量的屏幕(最多20个屏幕就足够了)。您可以像在亚马逊应用程序中想象的那样,您可以在产品详细信息中单击相关产品,然后显示另一个产品详细信息屏幕,您可以在其中执行相同的操作。
你们中的任何人有一个想法怎么做吗?
答案 0 :(得分:1)
这可以通过react-navigation
您可以使用this.props.navigation.navigate('ScreenName')
来代替this.props.navigation.push('ScreenName')
您可能想要在屏幕上传递某种描述,以便它知道要渲染什么,您可以通过传递参数来实现
this.props.navigation.push('ScreenName', { key: productId })
您只需要设置一些模板屏幕,然后可以通过传递给它们的参数来填充它们。
您可以在此处查看更多有关反应导航的不同功能的信息 https://reactnavigation.org/docs/en/navigation-prop.html#navigator-dependent-functions
以下是显示它可以正常工作的小吃https://snack.expo.io/@andypandy/infinite-navigation
在小吃中,我传递了位置和日期,您可以在将每个屏幕推到堆栈上时看到这些更新。按Go Back
返回堆栈中的一位。