假设我有MessagesLoginForm组件,MessageStoreUserStore(用于保留登录的用户信息)。

匿名用户可以查看消息,收藏夹,并且某些其他属性仅可用于身份验证。

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/

10-16 18:42