我使用react redux来保持应用程序的状态。这是我的行动
case 'set_user_name':
user.updateProfile({displayName: action.payload});
database().ref(`Users/${state.user.id}/name`).set(action.payload);
return {
...state,
name: action.payload,
};
在这个操作中,我完美地接收到了名字,在我的数据库中,它也在很好地更新,但它不会在状态中更新我的名字。这是我的州
if (user != null) {
Initial_state = {
defaultPic: defaultPic,
user: {
id: user ? user.uid : '',
name: user.displayName ? user.displayName : 'set name',
photoURL: user.photoURL ? user.photoURL : defaultPic,
phoneNumber: user ? user.phoneNumber : '',
fcmToken: '',
},
allUsers: '',
};
}
Initial_state包含一个user
,它是放置name
属性的位置。
我假设action.payload
只是返回用户名
更新你的案例并检查它是否有效。
case 'set_user_name':
user.updateProfile({displayName: action.payload});
database().ref(`Users/${state.user.id}/name`).set(action.payload);
return {
...state,
user: { ...state.user, name: action.payload },
};