Reactjs 反应路由器通用。为什么根组件不重新渲染?

Reactjs 反应路由器通用。为什么根组件不重新渲染?,reactjs,redux,react-router,universal,isomorphic-javascript,Reactjs,Redux,React Router,Universal,Isomorphic Javascript,我有通用应用程序(服务器渲染)。 我的routes.js如下所示 routes.js ... -- Root.js 类根扩展组件{ ... render(){ 返回( {this.props.children} ); } } -- server.js app.use((请求、回复)=>{ 匹配({routes,location:req.url},(错误,重定向位置,renderProps)=>{ 如果(错误){ ... }else if(重定向位置){ ... }else if(渲染器操作

我有通用应用程序(服务器渲染)。 我的routes.js如下所示

routes.js

...
--

Root.js
类根扩展组件{
...
render(){
返回(
{this.props.children}
);
}
}
--

server.js
app.use((请求、回复)=>{
匹配({routes,location:req.url},(错误,重定向位置,renderProps)=>{
如果(错误){
...
}else if(重定向位置){
...
}else if(渲染器操作){
常量initialState={};
常量存储=配置存储(初始状态);
获取组件数据(store.dispatch、renderProps.components、renderProps.params)。然后(()=>{
常量html=renderToString(
);
send(renderFullPage({html,initialState:store.getState()}));
});
}否则{
...
}
});
});
我的根和视图组件连接到存储(redux)。 它在没有服务器渲染的情况下运行良好,并且在服务器上的初始渲染效果良好。当我试图更改状态并期望根组件获得新的道具并重新渲染树时,问题就开始了,但在我的情况下,根组件并没有重新渲染,视图组件也没有重新渲染

我不明白怎么会这样?为什么我的树的一部分只是静态html

更新:
我还没有找到答案,但我假设根并没有给出新的状态。如果是,为什么根组件没有连接到存储

我也想知道!我也想知道!
<Route path="/" component={Root}>
  <Route path="sales/:id" component={View} />
  ...
</Route>
class Root extends Component {
  ...
  render() {
    return (
      <div>
        <Header {...someProps} />
        {this.props.children}
      </div>
    );
  }
}
app.use((req, res) => {
  match({ routes, location: req.url }, (error, redirectLocation, renderProps) => {
    if (error) {
      ...
    } else if (redirectLocation) {
      ...
    } else if (renderProps) {
      const initialState = {};
      const store = configureStore(initialState);

      fetchComponentData(store.dispatch, renderProps.components, renderProps.params).then(() => {
         const html = renderToString(
           <Provider store={store}>
             <RouterContext {...renderProps} />
           </Provider>
         );

        res.status(200).send(renderFullPage({ html, initialState: store.getState()}));
      });
    } else {
      ...
    }
  });
});