我试图解决 - 失败 - 根据Redux商店中的当前状态调度操作的建议。
我有一个设置,登录时,当前用户的ID存储在auth.currentUser
下。
我还单独列出了users[id]
下存储的用户的详细信息。
首先,如果用户详细信息已经可用,我希望我的loadUser(id)
操作创建者不要打扰API调用。其次,我希望有一个loadCurrentUser()
动作创建者根据存储的当前用户ID进行调用以获取用户。
这样做的最佳方式是什么?我知道我可以使用redux thunk相对容易地做到这一点,但这是最好还是有更好的方法?到目前为止,我已经避免使用它 - 使用redux promise中间件代替我的异步操作。
编辑:澄清我想做的事。
加载组件时,需要确保加载当前用户详细信息。它将通过在loadCurrentUser()
中连接来进行调度。
首先,此操作需要根据存储在其他位置的ID加载用户。其次,如果具有该ID的用户已经不在商店中,则只需要这样做。
答案 0 :(得分:0)
将您商店的一部分专用于保存用户数据,并将其连接到相关的任何组件。从那里,您可以根据用户的状态拨打电话。生命周期方法是放置逻辑的常见位置。
componentWillMount() {
if (this.props.user.id){ //assuming id is undefined if no user
this.props.dispatchAction()
}
}