我已在我的应用程序中升级到React Navigation v5
。我在我的应用程序中使用 watermelondb。在使用ReactNavigationv4
时,我曾经通过如下方式传递数据库道具
export const createNavigation = props =>
但是在 v5 中做一些事情
const Stack = createStackNavigator({database});
抛出一个错误说
有谁知道如何为 v5 传递道具?
我已在我的应用程序中升级到React Navigation v5
。我在我的应用程序中使用 watermelondb。在使用ReactNavigationv4
时,我曾经通过如下方式传递数据库道具
export const createNavigation = props =>
但是在 v5 中做一些事情
const Stack = createStackNavigator({database});
抛出一个错误说
有谁知道如何为 v5 传递道具?
您应该使用 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