Reactjs 反应路由器配置:不应使用<;开关>;a<;路由器>;
我有一个同构的应用程序,它使用Reactjs 反应路由器配置:不应使用<;开关>;a<;路由器>;,reactjs,react-router,Reactjs,React Router,我有一个同构的应用程序,它使用react router configv1;我正在尝试更新到最新版本(4.4.0-beta.6)。不幸的是,当我尝试这样做时,服务器端渲染(以前工作得很好)失败得很惨,抛出了,您不应该在之外使用 const content=renderToString( {renderRoutes(Routes)} ); 这似乎是失败的关键;调试显示,正在使用未定义的上下文实例化,但此调用中指定的上下文是{}。我试图移动以环绕其他组件,但没有效果。我很困惑。我在react路由器配
react router config
v1;我正在尝试更新到最新版本(4.4.0-beta.6
)。不幸的是,当我尝试这样做时,服务器端渲染(以前工作得很好)失败得很惨,抛出了,您不应该在之外使用
const content=renderToString(
{renderRoutes(Routes)}
);
这似乎是失败的关键;调试显示,
正在使用未定义的上下文实例化,但此调用中指定的上下文是{}
。我试图移动
以环绕其他组件,但没有效果。我很困惑。我在react路由器配置中遇到了同样的问题。你能发布你的路线配置吗?我认为react router config会根据您是否需要精确匹配注入交换机。只是一种预感。不管怎样,我的问题是,当需要静态路由器时,我引用了'react-router-dom'
,当它从'react-router'
@keepitreal>导出时。我最终放弃了升级软件包的任何希望!我也面临同样的问题。Mine过去使用的是react路由器dom v4.3.1
,但在v5.0.0
中失败。即使从react router
导入StaticRouter,它也会给出相同的错误。但是我没有使用react路由器配置
。我的设置很简单,就像
const content = renderToString(
<Provider store={store}>
<I18nextProvider i18n={ i18n }>
<StaticRouter location={req.path} context={context}>
{renderRoutes(Routes)}
</StaticRouter>
</I18nextProvider>
</Provider>
);