我已在我的应用中升级到React Navigation v5
。我在我的应用程序中使用了Tomatodb
在使用ReactNavigationv4
时,我通常按照以下方式传递数据库道具
export const createNavigation = props =>
但是在v5中,做类似
const Stack = createStackNavigator({database});
抛出错误
有人知道如何为v5传递道具吗?
答案 0 :(得分: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