假设我有Messages
,LoginForm
组件,MessageStore
和UserStore
(用于保留登录的用户信息)。
匿名用户可以查看消息,收藏夹,并且某些其他属性仅可用于身份验证。LoginForm
是模态的,当用户登录时,我需要使用包含用户特定属性的消息对象从MessageStore
的API重新加载数据。
我可以在LOGIN_SUCCESS
中消化MessageStore
(或每个感兴趣的
商店),并在商店内部执行火灾重新提取操作。
我可以在UserStore
之后从控制器视图触发refetch操作
变化。在这种情况下,我需要知道所有应该重新获取的商店
用户登录后。
在助焊剂应用中执行此逻辑的正确方法是什么?
最佳答案
在我制作的使用登录页面然后从API提取用户特定事件的应用程序中,这是我使用的结构:
LoginPage(提交时)-> WebAPIUtils.login(电子邮件,密码)
WebAPIUtils.login在响应-> actions.receiveLogin(response)时联系API
receiveLogin然后使用actionType的Login响应调用调度程序。
我的sessionStore侦听调度,并且在switch语句中针对Login Response的情况,它在商店以及sessionStorage中设置用户信息。然后,它调用WebAPIUtils.getEvents()
然后,WebAPIUtils.getEvents()从API请求用户的事件,在收到该消息后,它将调度一个receiveEvents操作,我的主商店会监听该事件,并相应地更新商店中的事件。
我的组件侦听主存储中的更改,并且在getEvents()之后更新事件时,它将触发重新呈现。
您可以在这里找到代码:https://github.com/hilary-L/react-cal-with-api
关于javascript - 身份验证后,应该在Flux应用程序中的哪里进行存储重新获取操作?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31592746/