# 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 中实现鉴权?
在任何真正的应用中,鉴权都必不可少。当考虑鉴权时须谨记:不管你怎样组织应用,都并不会改变什么,你应当像实现其它功能一样实现鉴权。这实际上很简单:
- 为
LOGIN_SUCCESS
、LOGIN_FAILURE
等定义 action 常量。 - 创建接受凭证的 action 创建函数,凭证是指示身份验证成功与否的标志、一个令牌、或者作为负载的错误信息。
- 使用 Redux Thunk middleware 或者其它适合于触发网络请求(请求 API,如果是合法鉴权则返回令牌)的 middleware 创建一个异步的 action 创建函数。之后在本地存储中保存令牌或者给用户一个非法提示。可以通过执行上一步的 action 创建函数达到此效果。
- 为每个可能出现的鉴权场景(
LOGIN_SUCCESS
、LOGIN_FAILURE
等)编写独立的 reducer。
# 补充资料
文章
Authentication with JWT by Auth0
Tips to Handle Authentication in Redux
例子
react-redux-jwt-auth-example
讨论
redux-auth