我正在使用React 链接到=“” 属性。我有一个如下所示的网址。
单击链接后,它将成功进入如下所示的url,但不会再次重新呈现该组件。
下面是我的文件,我正在使用react-router
import React from 'react';
import { Route, Redirect } from 'react-router-dom';
export const RouteWithSubRoutes = route => (
<React.Fragment>
<Route exact path="/" render={()=>(<Redirect to="/home" />)}/>
<Route exact path={route.path} render={props => (
<route.component {...props} routes={route.routes} onOpenNav={route.onOpenNav}/>
)} />
</React.Fragment>
);
我没有使用React的其他任何属性吗?
注意:我要使用相同的网址,但是具有差异ID。
答案 0 :(得分:0)
您应在Route
组件路径中使用“反应路由器” params。
同样,通过点击Link
组件,新的参数会发送到您的组件。
您可以检查this.props.match.params
以确保它得到更新。
然后,由于要重新渲染组件,应使用getDerivedStateFromProps
获取新值并将其设置为您的状态。