【发布时间】:2020-08-06 00:31:18
【问题描述】:
随着 React Router v5.1 添加了 useParams、useHistory 和 useLocation,以及随着 react-hooks 和功能组件带来的不断变化的编码约定,试图找出使用当代版本的 react-的预期方式变得令人困惑-路由器。
在使用 react router 编程导航时,如何在不同的 url 之间正确传递参数?
例如,假设我有一个名为 component_a 的组件,单击时会调用以下内容:
history.push("/home"); //history is defined as the return value of useHistory() from react-router-dom
我将 component_a 的一些属性传递给另一个名为 component_b 的组件的正确方法是什么? Component_b 是这样渲染的:
<Route path="/home" component={component_b}/>
我知道 history.push() 需要第二个参数[state]。但是我在文档中没有看到任何示例。我也找不到它的描述。
我也知道 useParams(),但是如果有太多变量需要通过 url 本身呢?
【问题讨论】:
-
确实如此,但是我不确定该答案是否对 v5.1 仍然有效。它肯定看起来断章取义,因为它没有提到使用 React Router 5.1 添加的 useParams、useHistory、useLocation 等等
-
确实如此。钩子只是访问与以前相同的对象的方法。
标签: javascript reactjs react-router react-hooks