reactjs - react 路由器,以编程方式导航时传递数据?

标签 reactjs react-router react-redux

我们可以使用

导航到不同的路径

this.props.router.push('/some/path')

有没有办法在导航时发送参数(对象)?

我可以想到其他选项,但想知道是否可以传递对象

  • 我可以嵌入对象的 id 并从服务器重新获取对象 从新页面。

  • 或者我可以将对象存储在全局存储中,例如 redux 存储。 (这个对象很快就会从商店中删除。所以我认为一开始就把它放在那里可能不太好)

最佳答案

当前答案已过时。

react 路由器 6:

使用useNavigate Hook :

const navigate = useNavigate();
navigate('/other-page', { state: { id: 7, color: 'green' } });

然后,您可以通过 useLocation Hook 访问“/other-page”中的状态数据:

const {state} = useLocation();
const { id, color } = state; // Read values passed on state

React 路由器 4 或 5:

调用history.push,并传递一个对象作为第二个参数来传递状态:

props.history.push('/other-page', { id: 7, color: 'green' }))

然后,您可以通过以下方式访问“/other-page”中的状态数据:

props.location.state

关于reactjs - react 路由器,以编程方式导航时传递数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42173786/

相关文章:

javascript - 渲染多个输入 React

javascript - 'import' 和 'export' 可能仅与 'sourceType: "模块一起出现"' (16 :0)

reactjs - ReactJS中的history.push和navlink有什么区别

javascript - 不变违规 : findComponentRoot when using Link & Tables

javascript - 登录 React-Redux 后无法重定向

javascript - 相机 react native 时出现错误 "null is not an object"

reactjs - 在 react redux 中调度

javascript - React-Redux - 创建搜索过滤器

javascript - React - 等待页面加载的正确方法?

javascript - react Redux 路由器错误