0

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

export const createNavigation = props =>

但是在 v5 中做一些事情

const Stack = createStackNavigator({database});

抛出一个错误说

在此处输入图像描述

有谁知道如何为 v5 传递道具?

4

1 回答 1

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-02-13T19:32:49.540 回答