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

Reactjs 如何在react中将对象传递给hashHistory.push(),reactjs,react-router,Reactjs,React Router,有人知道如何将对象传递到hashHistory.push吗 下面是一段代码片段: redirectToDrug(id, drug) { hashHistory.push(`/infusions/library/${id}`, drug); } 正在尝试获取其中的药物信息,这样我就不必再次查询数据库中的药物信息,因为我已经在父类中找到了药物信息。您可以通过query to push函数传递对象: router.push({ pathname: `/infusions/library/${

有人知道如何将对象传递到hashHistory.push吗

下面是一段代码片段:

redirectToDrug(id, drug) {
  hashHistory.push(`/infusions/library/${id}`, drug);
}

正在尝试获取其中的药物信息,这样我就不必再次查询数据库中的药物信息,因为我已经在父类中找到了药物信息。

您可以通过query to push函数传递对象:

router.push({
  pathname: `/infusions/library/${id}`,
  query: { drug }
})
然后在/infusons/library/${id}页面中访问对象:


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

您可以通过查询传递对象到推送功能:

router.push({
  pathname: `/infusions/library/${id}`,
  query: { drug }
})
然后在/infusons/library/${id}页面中访问对象:


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

您可以将对象的json字符串传递为:

var data = JSON.stringify(drug);
hashHistory.push({pathname: `/infusions/library/${id}`, query: {data}});

如果传递了direct对象,则无法在其他组件中检索。上述解决方案对我有效。

您可以通过以下方式传递对象的json字符串:

var data = JSON.stringify(drug);
hashHistory.push({pathname: `/infusions/library/${id}`, query: {data}});

如果传递了direct对象,则无法在其他组件中检索。上述解决方案对我来说很有效。

很酷,这确实有效,但有没有其他方法不创建添加到url的查询字符串?编辑:nvm只是用state而不是queryCool来完成的,这肯定是可行的,但是有没有另一种方法不创建添加到url的查询字符串呢?编辑:nvm只是用状态而不是查询来完成