在我的应用中,我有一个显示导航器的stacknavigator。 我想在标签之间共享数据,为此,我决定使用React提供的Context API。
let Tabs = createMaterialTopTabNavigator(
{
Info: (e: any) => <TabOne />,
Media: (e: any) => <TabTwo />,
}
)
如果我将其导出并交给堆栈导航器,则一切正常。但是,当用另一个类实现Context API时:
class ContextWrapper extends React.Component {
render() {
return (
<MyContext.Provider value={data}>
<Tabs />
</MyContext.Provider>
)
}
}
并将此类移至stacknavigator,我得到以下警告
“您应该只渲染一个导航器”
该应用仍然可以这种方式运行,但是我在控制台中收到此警告。
我知道此页面:https://reactnavigation.org/docs/en/common-mistakes.html,它是static router
的建议解决方案,但这种方式给了我这个错误:
无法读取未定义的属性“路由器”
任何人都有可以与Context API一起使用的可行解决方案。还是其他在标签之间共享数据的方式?