是否可以通过Linkreact-router中的组件传递对象?
Link
就像是: <Link to='home' params={{myObj: obj}}> Click </Link>
<Link to='home' params={{myObj: obj}}> Click </Link>
与我props从Parentto Child组件传递过来的方式相同。
props
Parent
Child
如果不可能的话,最好的方法是什么: 我有一个React + Flux应用程序,并且用一些数据渲染了表格。我想做的是,当我单击其中一行时,它将带我到该行的一些 详细信息 组件。该行包含了我需要的所有数据,所以我认为如果可以将其传递通过,那将是很好的Link。
另一种选择是id在url中传递行的,在 details 组件中读取该行,然后通过ID向商店请求数据。
id
不确定实现上述目标的最佳方法是什么…
因此,我对这个问题的最终结论是,我没有正确地考虑到这一点。仅仅通过我的数据传递似乎很自然,Link因此我可以在我的Child组件中访问它们。正如科林·拉姆齐(Colin Ramsay)提到的那样,有一种叫做state的东西,Link但这并不是这样做的方式。Link仅当用户单击某些内容并将其带到Child组件时,才通过数据,这将很好地工作。
state
问题出在用户访问所url使用的时,Link则无法获取数据。
url
因此,在我的情况下,解决方案是传递IDin Link参数,然后检查my Store是否具有数据(用户通过访问Link),然后从中获取此数据Store。
ID
Store
或者, 如果数据不在Store调用中action,则从API提取数据。
action