当前位置: 首页 > 面试题库 >

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

易阳云
2023-03-14
问题内容

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

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

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

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

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

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


问题答案:

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

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

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

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



 类似资料:
  • 我一直试图找到一个简单的解决办法。 我有一个显示项目列表的for循环。单击其中一个项目会将您转到详细组件,我只希望所选项目在详细组件中可用。出于某种原因,没有简单的解决方案(据我所知)。我希望会有这样的事情: `` 这就是我想要的。但是,这当然行不通。 我错过什么了吗?

  • 有什么简单的方法可以实现这一点吗? 这是我导航到路线的代码 这是我的路由模块 基本上,我希望执行与CreateAlbum组件是当前组件的子组件相同的操作,在这种情况下,我将使用@Input()

  • 在Symfony 4中是否可以通过yaml设置路由名称。 如此古老的诠释 Yaml注释 看起来yaml不支持名称键。只支持以下键: “资源”、“类型”、“前缀”、“路径”、“主机”、“方案”、“方法”、“默认值”、“要求”、“选项”、“条件”、“控制器”。 或者密钥“login”是名称吗?

  • 问题内容: 大家好,我正尝试通过websockets发送javascript对象: faye-websockets文档说: send(message) 接受字符串或缓冲区,并通过连接向另一对等方发送文本或二进制消息。 服务器端我正在使用node和faye。 客户端: 我的错误是什么?谢谢 问题答案: WebSockets支持发送和接收:字符串,类型数组(ArrayBuffer)和Blob。发送之前

  • 我有下面的场景。 我有一台带无线上网的笔记本电脑。我通过以太网电缆将我的笔记本电脑连接到网件路由器。我想让笔记本电脑无线上网与那些连接到路由器的人共享。有没有可能。

  • 我正在寻求设计和Android应用程序,该应用程序能够以编程方式将音频分别路由到左右扬声器。也就是说,当播放歌曲时,它将首先通过右侧扬声器,然后将其路由到左侧扬声器。我的应用程序的目的是验证两个扬声器是否正常工作。到目前为止,我还没有成功找到任何可以做到这一点的API。