簡體   English   中英

state 未在減速器中更新反應原生

[英]state not updating in reducer in react native

我正在使用 react-redux 來維護我的應用程序的 state。 這是我的行動

case 'set_user_name':
      user.updateProfile({displayName: action.payload});
      database().ref(`Users/${state.user.id}/name`).set(action.payload);
      return {
        ...state,
        name: action.payload,
      };

在此操作中,我完美地接收到名稱,並且在我的數據庫中它也在正常更新,但它沒有更新我在 state 中的名稱。 這是我的 state

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 },
      };

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM