除了reac路由器,Redux路由器还有什么用



伙计们。当我浏览redux路由器的文档时,我不明白为什么我们需要它?

以下是文档试图解释的内容:

React Router是一个很棒的路由库,但有一个缺点是它抽象了应用程序状态的一个非常关键的部分--当前路线!这种抽象对于路由匹配和渲染,但与路由器交互的API将1)触发转换和2)对组件内的状态变化作出反应生命周期还有待改进。

事实证明,我们已经用Flux(和Redux)解决了这些问题:我们使用动作创建者来触发状态更改高级组件以订阅状态更改。

此库允许您将路由器状态保存在Redux中百货商店因此,获取当前路径名、查询和参数同样简单就像选择应用程序状态的任何其他部分一样。

据我所知,它试图说redux路由器可以将路由器状态保存在redux存储中,这样我们就可以更方便地获取路由信息。

但在react路由器中,我也可以轻松地做到这一点。像path="messages/:id"一样,我可以使用this.props.rams.id来获取参数。

有人能解释一下redux路由器在什么情况下会带来好处吗?

Redux(通常是通量模式)就是将整个应用程序状态存储在一个中心位置。这样做的好处是更容易调试,并且更容易实现某些功能。

如果你曾经在带有react路由器的react应用程序中使用过redux devtools,你会注意到它的用途有限,因为你无法回放应用程序的整个生命周期。当用户更改路线时,不会记录在redux存储中。Redux路由器将路由状态保存在存储中。

您可以使用它进行调试,也可以串行化整个存储历史记录,并将其记录在其他地方以重播用户会话。您可以连接到它来实现完全撤消,或者记录分析事件。

redux simple router是一个库,可以帮助您了解如何在redux应用程序中使用react router。

这是一个非常简单的库,以redux状态存储URL,并使其与任何反应路由器更改保持同步。

redux简单路由器redux路由器相比是:

  • 更小更简单。你不需要在学习其他一切的基础上再学习一个图书馆
  • 鼓励直接访问react路由器API。需要服务器端渲染,或者其他高级功能?只需阅读react router的文档即可
  • 只存储当前URL和状态,而redux路由器存储react路由器的整个位置对象

按照以下两个示例之一启动并运行:

  • redux简单路由器示例
  • redux前端样板

最新更新