javascript - 带反应的动态路由
问题描述
我想知道如何将点击的项目 ID 传递给 React 中的路由路径?
这是我的父组件
export default class ParentComponent extends Component {
state = {
data: null
};
render() {
return (
<section>
<Row>
<ul>
<li>....<li>
....
<ul>
</Row>
<Row>
<ChildComponent rowData={this.state.data} />
</Row>
</section>
);
}
}
当我单击某些 li 元素时,我有一个列表元素,我得到了id
这个元素的。到目前为止,一切正常。
我想知道如何以及在哪里可以动态传递 childComponent 这个项目 id,如路径参数。
我的 id this.state.data.id
,我想创建这个 id 并将其传递给组件的路由
网址将类似于:details/id
因此,单击到 li 元素路由将转到子组件,子组件将具有被单击项目的 id。
我正在使用反应路由器
我的 app.js 中的路由路径:
<Switch>
<Route path="/login" />
<Route exact path="/callback" />
<Route path="/about" component={About} />
</Switch>
解决方案
您可以使用 url 参数。请检查以下网址https://reacttraining.com/react-router/web/example/url-params
<Switch>
<Route path="/login" />
<Route exact path="/callback" />
<Route path="/about" component={About} />
<Route path="/details/:id" component={DynamicComp} />
</Switch>
var DynamicComp = ({match})=>({<div>{match.params.id}</div>})
推荐阅读
- jquery - 更新对 Hangfire 仪表板的 jQuery 依赖
- android - 如何恢复来自应用程序外部的音乐?
- jquery - ie8不支持HTTPS协议的API接口吗?
- javascript - jQuery 等待两个触发器
- xamarin.ios - Xamarin.iOS MT2002 无法解析 Xamarin 11.9.1 上的 BindingImplAttribute
- visual-studio-2015 - 用vs2015编译mfc程序出错
- oculus - Oculus Go 开发者模式 - 已成功安装 apk,但未在 Oculus 中显示
- c# - MVC ajax 正在返回部分布局而不是部分
- vba - 在邮件的 htmlbody 中包含 Excel 范围值
- html - React - 如何将字形图标对齐到最右边?