首页 > 解决方案 > react-router:在 url 更新程序之后不渲染组件

问题描述

我用

"react": "^16.5.0",
"react-router": "^4.3.1",
"react-router-dom": "^4.3.1",

有路由器

import * as React from 'react';
import { Route, Switch } from 'react-router-dom';
import GoToNode from './components/map/GoToNode';

const Router = (props) => {
    return (
        <Switch>
            <Route path="/*/node/:nodeId" component={GoToNode} />
        </Switch>
    );
};

export default Router;  

当我刷新页面 'localhost:3000/project/node/5' 时,路由器会呈现 GoToNode 组件。当我使用来自另一个组件的函数“selectNode”时,GoToNode 不会被渲染。

selectNode(node: Node) {
    this.props.history.push(`/project/node/${node.objectId}`); 
}
...
export default withRouter(connect(mapStateToProps, mapDispatchToProps)(NodeWorkingList));

你知道为什么吗?谢谢!:)

标签: reactjsreact-routerreact-router-v4

解决方案


推荐阅读