首页 > 解决方案 > 静态 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?或者使用某种类似历史的钩子?这里最简单的解决方案是什么,我相信我的理解有一些。

标签: reactjs

解决方案


this.props.history.push(`/exchange/${this.state.searchTokenAddress}`);

正如 Dileep Thomas 所说,我将历史推送到 searchToken 函数中并得到了预期的结果。


推荐阅读