React Router与组件无法正常工作

时间:2019-02-02 11:02:25

标签: reactjs react-router router react-router-dom

如果路径匹配,我正在尝试渲染容器组件。

class MyTopComponent extends Component {
componentDidUpdate() {
    const params = getUrlParams(this.props.location);
    if (params.id && params.id !== this.props.id) {
        this.props.updateId(params.id);
    }
}
render() {
    const { a, b, c } = getUrlParams(this.props.location);
    return this.props.id && this.props.isDataReady ? (
    <div>
    <Switch>
        <Route path={MY_FIRST_PATH} component={MyContainer}/>
    </Switch>
    </div>
    ) : null;
}
}

问题在于,转到路径后再返回,然后再返回路径,页面崩溃。 当我在组件中使用内联函数时,效果很好:

<Route path={MY_FIRST_PATH} component={() => <MyContainer/>}/>

第二种方式是否表现出色?

1 个答案:

答案 0 :(得分:0)

如果MY_FIRST_PATH是常量,则假定它将解析为字符串,即'MY_FIRST_PATH',但是在您的路径道具中,您需要拥有path='/MY_FIRST_PATH'。您很可能忘记了/