reactjs - 使用 React 路由器查询参数
问题描述
我想知道是否可以在类组件中应用此逻辑?如果是的话,我会把({匹配})放在哪里
const Topics = ({ match }) => (
<div>
This is a topics
<div>
{data.map((item, id) => <div key={id}><Link to={{
pathname: `${match.url}/${item._id}`,
state: item
}}>{item.name}</Link> </div>)}
</div>
<hr />
<Route path={`${match.path}/:id`} component={Topic} />
</div>
);
解决方案
this.props
您可以使用类组件访问渲染中的道具
class Topics extends React.Component {
render(){
const { match } = this.props;
return (
<div>
This is a topics
<div>
{data.map((item, id) => <div key={id}><Link to={{
pathname: `${match.url}/${item._id}`,
state: item
}}>{item.name}</Link> </div>)}
</div>
<hr />
<Route path={`${match.path}/:id`} component={Topic} />
</div>
);
}
}
推荐阅读
- bash - 执行 bash 脚本,该脚本将在 Apache 重新启动后继续执行
- reactjs - React 应用程序部署与 firebase 完成,但我没有得到托管 url?我现在为成功部署做什么
- javascript - 为什么anime.js 在动画CSS 属性时会跳过某些延迟?
- amazon-web-services - 使用 API 网关的自定义域的 route53 返回禁止
- html - 即使高度为 100%,高度也不会增长到最大高度
- django - DRF MultiPartParser 将值作为列表返回
- firebase - Google Maps Flutter:如何从 Firebase RTDB 放置多个标记
- postgresql - upsert 导致序列跳转
- javascript - 使用 display 属性在手风琴内显示/隐藏 div 会导致 div 永久显示
- r - 在其他数据框中搜索列值并通过属性值更改它