小编典典

通过对象通过React路由器中的Link

reactjs

是否可以通过Linkreact-router中的组件传递对象?

就像是:
<Link to='home' params={{myObj: obj}}> Click </Link>

与我propsParentto Child组件传递过来的方式相同。

如果不可能的话,最好的方法是什么:
我有一个React + Flux应用程序,并且用一些数据渲染了表格。我想做的是,当我单击其中一行时,它将带我到该行的一些 详细信息
组件。该行包含了我需要的所有数据,所以我认为如果可以将其传递通过,那将是很好的Link

另一种选择是id在url中传递行的,在 details 组件中读取该行,然后通过ID向商店请求数据。

不确定实现上述目标的最佳方法是什么…


阅读 370

收藏
2020-07-22

共1个答案

小编典典

因此,我对这个问题的最终结论是,我没有正确地考虑到这一点。仅仅通过我的数据传递似乎很自然,Link因此我可以在我的Child组件中访问它们。正如科林·拉姆齐(Colin
Ramsay)提到的那样,有一种叫做state的东西,Link但这并不是这样做的方式。Link仅当用户单击某些内容并将其带到Child组件时,才通过数据,这将很好地工作。

问题出在用户访问所url使用的时,Link则无法获取数据。

因此,在我的情况下,解决方案是传递IDin Link参数,然后检查my
Store是否具有数据(用户通过访问Link),然后从中获取此数据Store

或者, 如果数据不在Store调用中action,则从API提取数据。

2020-07-22