【问题标题】:Changing page in react from a function on click单击时从功能更改页面
【发布时间】:2018-12-18 02:02:17
【问题描述】:

我正在使用 React-router,我想从一个函数中更改页面。该函数被称为单击侧边栏中的按钮。我可以通过将按钮交换到 react-router 中的 Link 标签来做到这一点。但是我希望应用一些样式,然后更改页面以呈现新组件。那么如何从函数中更改页面。

我在 react 路由器中尝试了 history.push 和重定向,但都没有工作。

【问题讨论】:

  • 你能发布你的代码吗? history.push 是正确的,所以你可能只是说错了。

标签: javascript reactjs onclick react-router


【解决方案1】:

<Link /> 也可以设置样式,只需在其上附加一个 className 或传入 inline-styling。

如果你想在函数中调用路由,你需要确保你的组件订阅了 history prop,方法是在组件中引用它或将它向下传递。那么例如:

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

【讨论】:

    【解决方案2】:

    Colin 是对的,history.push 应该可以。可能用错误的参数调用它。

    您可以阅读文档的这部分内容,您会发现有关它的更多详细信息。 https://reacttraining.com/react-router/core/api/location

    【讨论】:

    • this.props.history.push 说未定义
    • 您能否为您的组件提供一个极简的 sn-p 以及如何调用函数/调用 history.push ?
    • 我可以,但自从这个问题以来,代码发生了很大变化。
    猜你喜欢
    • 2016-06-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-08-10
    • 2013-06-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多