【问题标题】:How can I add a page to a StackNavigator with a state change? (React Native)如何将页面添加到具有状态更改的 StackNavigator? (反应原生)
【发布时间】:2018-10-17 22:25:31
【问题描述】:

在 StackNavigator 已经用页面初始化后,我需要将页面添加到 StackNavigator。如何在任何给定时间添加页面/屏幕?我可以连接到一个州吗?

不太确定最好的方法是什么...

【问题讨论】:

    标签: ios react-native navigation stack navigator


    【解决方案1】:

    执行此操作的一种方法是导入页面/屏幕模板并准备就绪,然后在您的状态更改时使用以下内容动态填充它。

    this.props.navigation.setParams({...yourDynamicProps})

    如果您需要选择模板,您可以使用 Case/Switch 语句或 if/else 条件来动态更改模板名称。

    this.props.navigation.navigate("DYNAMIC_STRING")

    【讨论】:

    • 所以页面已经在里面但是内容没有加载?就我而言,我正在从 Firebase 加载一组页面,因此在检索到该数据之前,我不知道有多少页面或它们需要什么。
    • 如果加载了模板,您可以使用this.props.navigation.setParams({}) 设置参数(数据),然后在模板中使用this.props.navigations.state.params 拉取这些道具。这样,您的模板可以是动态的,具体取决于您下载的内容。如果您需要制作多个页面,您可以在您的 render() 或 componentWillUpdate() 方法中创建一个新的 StackNavigator。它会起作用,但我不确定这是否是最佳做法。我会尝试制作一个模板并使其具有足够的动态性,以便在给定特定数据时呈现不同的组件。
    猜你喜欢
    • 2016-04-24
    • 1970-01-01
    • 2019-04-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多