reactjs - 静态 React 项目,将值从导航菜单传递到组件,从组件传递到导航菜单
问题描述
我有一个带有自定义 url 附加的路由,我想传递一个值以附加到组件的状态。然后是该组件中的一个函数,我想将该状态的值传递回路由,或者更确切地说,至少更改 URL。
所以,像这样的路径......
<Route path="/exchange/:address" component={Exchange} />
以及该 Exchange 组件中的一个函数,我想将一个值传递给路由并刷新页面,或者只是更改 URL。路由中的 URL 或导航应该在查找时将该状态值传递给组件以呈现它需要的内容。
searchToken = (event) => {
this.setState({foo: event});
//pass foo to route or change URL with foo as address
}
补充一点,我的网站是静态的,我使用的是 Hashrouter,并且在可预见的将来必须这样做。我是否不得不使用 Redux?或者使用某种类似历史的钩子?这里最简单的解决方案是什么,我相信我的理解有一些。
解决方案
this.props.history.push(`/exchange/${this.state.searchTokenAddress}`);
正如 Dileep Thomas 所说,我将历史推送到 searchToken 函数中并得到了预期的结果。
推荐阅读
- testing - 有没有办法开始阅读我们在 JMeter 的 CSV 数据集配置中停止的位置?
- python - 在python中将多行数据写入CSV
- c - 多线程是否在不锁定的情况下在多个内核中操作原子变量?
- react-native - 如何在 React Native 中将 TextInput 与数组中未知长度的项目集中在一起?数组中可能有更多或更少的项目来自数据库
- wordpress - Woocommerce 自定义排序选项 - 按元排序
- reactjs - 为什么在对表执行操作后没有立即更新表数据
- python - 如何通过无维坐标归一化?
- c++ - 实现 Counter 类的功能,使类接口和实现是分开的?在 C++ 中是什么意思
- pca - PCA 后每个维度的数据都具有相同的值
- asp.net-mvc - 是否可以通过 API 在 Office 365 Outlook 中为用户设置电子邮件签名?