当前位置: 首页 > 知识库问答 >
问题:

改变路线时传递道具

卓学智
2023-03-14

Home.js

class Home extends Component {

    handleClick = () => {
        hashHistory.push('/about')
    }

一个bout.js

当路线改变时,有没有办法把道具从家里送到附近?

也许类似于将道具发送到子组件,例如:

<About name="Sara" />

共有1个答案

杜正奇
2023-03-14

您不仅可以使用history.push来更改路径名,还可以添加状态、搜索查询或哈希。

class Home extends Component {

    handleClick = () => {
        history.push({
            pathname: '/about'
            state: { name: "Sara"}
        }
    }
}

您还可以使用以下搜索:

class Home extends Component {

    handleClick = () => {
        history.push('/about?name=sara')
    }
}

这取决于你是否想要在url中的信息。

然后它在你的路线中变得可用:

this.props.location.state

this.props.location.search

查看文档以了解更多详细信息。

 类似资料:
  • 我在克服react路由器的问题时遇到困难。该场景是,我需要从状态父组件和路由向子路由传递一组道具 我想做的是传递its,传递its。然而,我能找到的唯一方法是通过这两个和,这意味着每个子路径都会获得每个子道具,无论其是否相关。目前这不是一个阻塞问题,但我可以看到,有一段时间我会使用同一组件的两个,这意味着propA上的键将被propB上的键覆盖。 这实际上是我所期望的方式。当我链接到我得到组件渲染

  • 问题内容: 我无法克服React Router的问题。场景是我需要让子级路由从状态父级组件和路由传递一组道具。 我想做的就是通过它,然后通过它。但是,我能弄清楚如何做到这一点的唯一方法是同时通过两者,这意味着每条子路线都会获得每条子道具,而不论其是否相关。目前,这并不是一个阻塞问题,但是我可以看到有一段时间我将使用两个相同的组件,这意味着propA上的键将被propB的键覆盖。 这实际上以我期望的

  • 问题内容: 我正在尝试将现有的react-router 3.0.0应用程序迁移到4.0.0。在路由器内,我需要传递与其子代无关的其他非路由选择。 在早期版本的react- router中,有一些技巧性的方法可以实现此目的,本文对此进行了详细介绍。我个人最喜欢的是使用的这种方法,因为它可以确保复制所有的react-router道具: 到目前为止,我的新App组件如下所示: 在保留提供的路由器道具的同

  • 我正在使用react with react路由器。我正试图在react路由器的“链接”中传递属性 “链接”呈现页面,但不将属性传递给新视图。下面是查看代码 如何使用“链接”传递数据?

  • 我正在使用react样板文件,它在route.js中使用异步调用来提供组件。 在“/”路径中加载的组件定义为: