反应路线改变时传递道具

时间:2017-08-17 13:17:12

标签: reactjs react-router

Home.js

class Home extends Component {

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

About.js

  

当路线发生变化时,是否有办法将道具从主页发送到约?

类似于向子组件发送道具类似的东西:

<About name="Sara" />

1 个答案:

答案 0 :(得分:1)

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

class Home extends Component {

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

您也可以使用搜索:

class Home extends Component {

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

取决于您是否希望在网址中包含信息。

然后它可以在您的路线中使用:

this.props.location.state

this.props.location.search

检查the docs了解详情。