当前位置: 首页 > 面试题库 >

在DrawerNavigator中通过屏幕选项传递道具

裴学
2023-03-14
问题内容

我在https://reactnavigation.org/docs/navigators/drawer中使用DrawerNavigator

const MyApp = DrawerNavigator({
    Home: {
        screen: MyHomeScreen,
    },
    Notifications: {
        screen: MyNotificationsScreen,
    },
});

我有多个正在使用MyNotificationsScreen具有不同道具的组件的屏幕。

我该怎么做:

const MyApp = DrawerNavigator({
    Home: {
        screen: MyHomeScreen,
    },
    Notifications1: {
        screen: MyNotificationsScreen(propName=val1),
    },
    Notifications2: {
        screen: MyNotificationsScreen(propName=val2),
    },
});

问题答案:

在许多情况下,我认为更好的方法是:

screen: (props) => <MyNotificationsScreen {...props} propName={val1} />

这会将您的导航道具放入props.navigation.state.params中。如果您希望它们出现在this.props中(这意味着您的组件未与react-
navigation紧密耦合),请使用:

screen: (props) => <MyNotificationsScreen {...props.navigation.state.params} propName={val1} />


 类似资料:
  • 相关问题: 在Flutter中在小部件之间传递数据的最佳方式 在小部件之间抖动传递数据? 颤振/如何在StateFulWidget之间传递和获取数据

  • 问题内容: 这个问题已经在这里有了答案 : Java:清除控制台 (12个答案) 4年前关闭。 是否有任何选项可以将Java中的屏幕清除为C中的clrscr()。 问题答案: 随着肮脏的黑客的袭击,我喜欢msparer的解决方案。我见过的一种甚至更脏的方法(我自己不会做。我发誓。的确如此。)是在控制台上写了一堆换行符。这根本不会清除屏幕,但是会给用户带来清晰屏幕的错觉。

  • 问题内容: 如何在不暴露URL的情况下将prop与组件一起传递? 这样吗?我正在使用。 问题答案: 您可以这样传递数据: 这是您可以访问的方式: 该API文档解释了如何通过状态和其他变量重定向/历史道具。 来源:https : //github.com/ReactTraining/react-router/blob/master/packages/react- router/docs/api/Re

  • 我试图使用SceneBuilder和FXML构建一个简单的概念验证程序,由两个屏幕组成。第一个屏幕只是一个文本字段和一个按钮,它将您带到第二个屏幕,第二个屏幕只有一个标签,理想情况下,它将显示文本字段中的任何内容,当按钮被点击时。每个屏幕都有自己的FXML文件和自己的控制器。我读了很多关于FXMLLoader的文章,因为我的研究表明这是完成这一任务的理想方法,但我似乎仍然不知道如何正确地使用它。最

  • 我必须在reactjs中从一个屏幕传递数据到另一个屏幕。并在接收端显示数据。 我用路由器在屏幕之间导航也传递数据,但不能显示接收到的数据。下面的代码是我传递数据的地方。 我试图在屏幕2中使用以下代码获得道具

  • 问题内容: 我只是在 文档中读到以下错误,它将影响渲染时间。如果是这种情况,我该如何重构代码并使用所需的道具来创建动态样式? 先感谢您。 标签组件 问题答案: 我相信文档在说的是您应该避免在渲染组件中包含样式: 做这个 代替这个 因为发生的是组件的Props更改,所以组件将重新渲染并且样式将重新生成。因此,有必要将其分开。 因此,如果您进一步阅读 基于道具 的 适应 部分,他们将对此进行解释: 之