【问题标题】:How to pass custom props when using React Navigation version 5?使用 React Navigation 版本 5 时如何传递自定义道具?
【发布时间】:2020-05-29 00:32:51
【问题描述】:

我已在我的应用中升级到 React Navigation v5。我在我的应用程序中使用 watermelondb。 在使用ReactNavigationv4时,我曾经通过如下方式传递数据库道具

export const createNavigation = props =>

但是在 v5 中做一些事情

const Stack = createStackNavigator({database});

抛出一个错误说

有人知道如何为 v5 传递道具吗?

【问题讨论】:

    标签: react-native react-navigation react-navigation-v5 watermelondb


    【解决方案1】:

    您应该使用 React 上下文 API 将您的 database 传递到所有屏幕:https://reactjs.org/docs/context.html

    <DatabaseContext.Provider value={database}>
      <NavigationContainer>
        {/* ... */}
      </NavigationContainer>
    </DatabaseContext.Provider>
    

    然后在需要数据库的屏幕中,使用:

    const database = React.useContext(DatabaseContext);
    

    或者对于类组件:https://reactjs.org/docs/context.html#classcontexttype

    【讨论】:

      猜你喜欢
      • 2020-09-07
      • 1970-01-01
      • 1970-01-01
      • 2018-02-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-12-22
      • 1970-01-01
      相关资源
      最近更新 更多