使用 React Navigation 版本 5 时如何传递自定义道具?
How to pass custom props when using React Navigation version 5?
我的应用程序已升级到 React Navigation v5
。我在我的应用程序中使用 watermelondb。
在使用 ReactNavigationv4
时,我曾经按如下方式传递数据库属性
export const createNavigation = props =>
但在 v5 中做一些事情
const Stack = createStackNavigator({database});
抛出错误
有谁知道如何为 v5 传递 props 吗?
您应该使用 React 上下文 API 将您的 database
传递给所有屏幕:https://reactjs.org/docs/context.html
<DatabaseContext.Provider value={database}>
<NavigationContainer>
{/* ... */}
</NavigationContainer>
</DatabaseContext.Provider>
然后在需要数据库的屏幕上,使用:
const database = React.useContext(DatabaseContext);
或 class 个组件:https://reactjs.org/docs/context.html#classcontexttype
我的应用程序已升级到 React Navigation v5
。我在我的应用程序中使用 watermelondb。
在使用 ReactNavigationv4
时,我曾经按如下方式传递数据库属性
export const createNavigation = props =>
但在 v5 中做一些事情
const Stack = createStackNavigator({database});
抛出错误
有谁知道如何为 v5 传递 props 吗?
您应该使用 React 上下文 API 将您的 database
传递给所有屏幕:https://reactjs.org/docs/context.html
<DatabaseContext.Provider value={database}>
<NavigationContainer>
{/* ... */}
</NavigationContainer>
</DatabaseContext.Provider>
然后在需要数据库的屏幕上,使用:
const database = React.useContext(DatabaseContext);
或 class 个组件:https://reactjs.org/docs/context.html#classcontexttype