React导航“您只应发出一个导航器警告”与React上下文冲突

时间:2018-11-10 17:59:57

标签: react-native react-navigation

在我的应用中,我有一个显示导航器的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一起使用的可行解决方案。还是其他在标签之间共享数据的方式?

0 个答案:

没有答案