# Redux 常见问题:其它

# 目录

  • 有 “真实存在” 且很庞大的 Redux 项目吗?
  • 如何在 Redux 中实现鉴权?

# 其他

# 有 “真实存在” 且很庞大的 Redux 项目吗?

存在,并且有很多,比如:

  • Twitter's mobile site
  • Wordpress's new admin page
  • Firefox's new debugger
  • Mozilla's experimental browser testbed
  • The HyperTerm terminal application

很多,真的有很多!

# 补充资料

文档

  • Introduction: Examples

讨论

  • Reddit: Large open source react/redux projects?
  • HN: Is there any huge web application built using Redux?

# 如何在 Redux 中实现鉴权?

在任何真正的应用中,鉴权都必不可少。当考虑鉴权时须谨记:不管你怎样组织应用,都并不会改变什么,你应当像实现其它功能一样实现鉴权。这实际上很简单:

  1. LOGIN_SUCCESSLOGIN_FAILURE 等定义 action 常量。
  2. 创建接受凭证的 action 创建函数,凭证是指示身份验证成功与否的标志、一个令牌、或者作为负载的错误信息。
  3. 使用 Redux Thunk middleware 或者其它适合于触发网络请求(请求 API,如果是合法鉴权则返回令牌)的 middleware 创建一个异步的 action 创建函数。之后在本地存储中保存令牌或者给用户一个非法提示。可以通过执行上一步的 action 创建函数达到此效果。
  4. 为每个可能出现的鉴权场景(LOGIN_SUCCESSLOGIN_FAILURE等)编写独立的 reducer。

# 补充资料

文章

  • Authentication with JWT by Auth0
  • Tips to Handle Authentication in Redux

例子

  • react-redux-jwt-auth-example

讨论

  • redux-auth
Last Updated: 5/13/2023, 8:55:38 PM