gpt4 book ai didi

reactjs - React-router:通过路由传递数据

转载 作者:行者123 更新时间:2023-12-03 13:24:44 25 4
gpt4 key购买 nike

我正在尝试找出通过路线传递数据的最佳方式。我知道我可以使用参数,但某些类型的数据不属于参数。

例如:我有一个显示应用程序列表的索引页。每个应用程序旁边都有一个按钮,可以将您引导至该应用程序的 View 。

我想将应用程序本身传递给应用程序处理程序。然而,通过参数传递整个应用程序是没有意义的。尽管将应用程序标识符传递给参数(即:id或:name)确实有意义

所以我认为我应该这样做的方法是将应用程序标识符传递给参数,然后在应用程序组件中搜索我的应用程序商店以查找给定标识符的适当应用程序。

不过,通过申请本身不是更容易、更快吗?有没有办法做到这一点。有理由不这样做吗?

这是一些代码:

<Link to="showApplication" params={{name: application.name}}>View</Link>

<Link to="showApplication" params={{application: application}}>View</Link>

提前致谢!

最佳答案

问题在于,当用户刷新或以其他方式直接加载 url 时,它需要显示正确的 View 。由于 URL 只是字符串,因此您需要将路由表示为字符串。您无法(轻松)将实际应用程序插入 URL。

路由器的工作是获取该字符串(URL)并将其映射到实际代码(处理程序),并提供任何额外的数据(参数、查询和/或哈希)。

作为路由器用户,您的工作是确保 URL 中有足够的信息,以便路由器选择正确的处理程序,并让处理程序有足够的信息来完成其工作(例如要显示哪个应用程序)。

如果网址类似于 mysite.com/showApplication,则显然没有足够的信息。

如果是这样的:

mysite.com/showApplication/React.createClass(%7Brender%3A%20function()%7Breturn%20React.createElement('div'%2C%20null%2C%20%22I'm%20an%20application!%22%7D%7D)%3B

即将应用程序放在 url 中,信息量太大,而且通常是一个非常糟糕的主意。

但是 mysite.com/showApplication/applicationName 正好:-)

关于reactjs - React-router:通过路由传递数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28080102/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com