如何在路由器包装的应用程序内部深入使用React Link?

时间:2019-03-06 12:26:28

标签: reactjs react-router

总的来说,我的应用程序的结构如下:

<Provider>
   <ConnectedRouter>
      <App>
         <PageContainer>
             <Page>
                <Link>

问题是,当我尝试运行时-我收到“未捕获的不变违规:您不应在路由器外部使用链接”错误。我尝试将<Link>包装在<Page>内的另一个Router内,但这似乎会创建路由器的另一个实例,并且导航无法正确注册。可能是因为最初的历史记录是在顶层创建的,并在此处传递了路由器,并且该历史记录对象没有传递到页面内的路由器。

首先,我很困惑为什么会收到错误-因为Link位于路由器内部,尽管不是该路由器的直接子代。

第二,如果我绝对需要将链接包装在路由器中,如何确保它是相同的路由器实例?还是一个确定的模式-让<ConnectedRouter>出现在应用程序的不同级别并多次出现?

请帮助!

0 个答案:

没有答案