如何在hash中将对象传递给hashHistory.push()

Kab*_*gam 1 reactjs react-router

有人知道如何将对象传递给hashHistory.push()吗?

这是一段代码片段:

redirectToDrug(id, drug) {
  hashHistory.push(`/infusions/library/${id}`, drug);
}
Run Code Online (Sandbox Code Playgroud)

试图获取药物信息,以便我不必再次查询数据库的药物信息,因为我已经在父类中.

Nor*_*gin 7

您可以将带有查询的对象传递给push函数:

router.push({
  pathname: `/infusions/library/${id}`,
  query: { drug }
})
Run Code Online (Sandbox Code Playgroud)

然后在/ infusuons/library/$ {id}页面中访问您的对象:

this.props.location.query.drug
Run Code Online (Sandbox Code Playgroud)

链接到官方文档

如果您的对象不是太复杂,这是一个很好的解决方案,但如果药物是一个很大的数据结构,我会使用单向数据流框架,例如Redux.