reduxストアからアレイを削除するにはどうすればよいですか?

ルパム

配列を削除しようと懸命に努力しています。しかし、それは機能しません。削除した後、配列の長さとデータは同じままです。

これは私のフロントエンドの反応ウェブページです

renderAdmin = (id) => {
        
        if(this.props.auth.user.userType==='normal') return(<td></td>);
        return (
        <React.Fragment>
            <td>
                <button onClick={() => this.props.changeStatus(id)}
                className="ui button" >Change Status</button>
            </td>
            <td>
                <button onClick={() => this.props.deleteUser(id)}
                className="ui button" >Delete User</button>
            </td>
        </React.Fragment>
        );
    }

ここでは、配列のIDを取得しています。

これが私のreduxアクションクリエーターです

export const deleteUser = (id) =>  (dispatch,getState) => {
  const user = JSON.parse(localStorage.getItem('user'));

  axios.delete(`/api/users/remove/${id}`, {
    headers: {
      'Authorization': `${user.token}`
    }
  }).then((res) => {
    console.log(res.data);
  
    dispatch({
      type: 'DELETE_USER',
      payload: res.data
  })

  dispatch({
      type: 'CREATE_ERROR',
      payload: 'User Delete'
  })
    
  })
  .catch((error) => {
    console.error(error)
  })
}

ここで最初にバックエンドサーバーから削除します。それはうまくいきます。次に、res.dataをレデューサーペイロードに送信します。DELETE_USERがうまく機能していません。ただし、CREATE_ERRORは正常に機能します。

これは私のレデューサーです

export default function (state = [] , action) {
    //  console.log(action)
      switch(action.type) {
          case 'ALL_USER' : return action.payload;  
          case 'EDIT_USER' :    
            return state.map(user=>{
                if(user._id === action.payload._id){
                    return action.payload;
                }
                else {
                    return user;
                }
            });
          case 'DELETE_USER' :
            return state.filter(user=>
                user !== action.payload
            )
          default : return state;
      }
  }

削除ボタンを押した後、データはサーバーから削除されますが、reduxストアは常に同じままです。私を助けてください。ありがとうございました。

アノン

オブジェクトが真に等しくないことが原因である可能性があります。代わりに、IDでフィルタリングしてみてください。

return state.filter(user=>
                user._id !== action.payload._id
            )

または、深い平等を確認してください。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

C#でリストからアイテムを削除するにはどうすればよいですか?

分類Dev

jqueryでリストからアイテムを削除するにはどうすればよいですか?

分類Dev

Pythonでリストからアイテムを削除するにはどうすればよいですか?

分類Dev

アイテムをredux状態から削除するにはどうすればよいですか?

分類Dev

Redux状態から特定のアイテムを削除するにはどうすればよいですか?

分類Dev

typesafe configのリストからアイテムを削除するにはどうすればよいですか?

分類Dev

dict値からリストアイテムを削除するにはどうすればよいですか?

分類Dev

Reactのリストからアイテムを削除するにはどうすればよいですか?

分類Dev

React Nativeのリストからアイテムを削除するにはどうすればよいですか?

分類Dev

Ansibleリストからアイテムを削除するにはどうすればよいですか?

分類Dev

STLなしで2Dアレイから埋められていないスロットを削除するにはどうすればよいですか?

分類Dev

ReduxストアにIDでアイテムを保存するにはどうすればよいですか?

分類Dev

Playストアからアプリを削除(非公開)するにはどうすればよいですか?

分類Dev

指定されたIPアドレスをiptablesから削除するにはどうすればよいですか?

分類Dev

2つのアレイからデータを削除するにはどうすればよいですか?

分類Dev

AutoHotkeyアレイから重複を削除するにはどうすればよいですか?

分類Dev

Recyclerviewリストとストレージからmp3アイテムを削除するにはどうすればよいですか?

分類Dev

特定の番号で終わるアイテムをローカルストレージから削除するにはどうすればよいですか?

分類Dev

Ubuntuからスナップストアを削除するにはどうすればよいですか?

分類Dev

divをクリックしてローカルストレージからアイテムを削除するにはどうすればよいですか?

分類Dev

選択したアイテムを非同期ストレージから削除するにはどうすればよいですか?

分類Dev

FlatListのストレージからアイテムを削除するにはどうすればよいですか?

分類Dev

数字ではないリストアイテムを削除するにはどうすればよいですか?

分類Dev

phpに含まれる不要なレイアウトをHTML5テンプレートから削除するにはどうすればよいですか?

分類Dev

Reduxストアの状態でアレイをクリアするにはどうすればよいですか?

分類Dev

Unityのパネル通知領域からキーボードレイアウトアイコンを削除するにはどうすればよいですか?

分類Dev

Swift 4の異種アレイからキャストするにはどうすればよいですか?

分類Dev

ページコードから重複を削除するためにサブレイアウトを作成するにはどうすればよいですか?

分類Dev

順序付けされていないリストアイテムからインデントを削除するにはどうすればよいですか?

Related 関連記事

  1. 1

    C#でリストからアイテムを削除するにはどうすればよいですか?

  2. 2

    jqueryでリストからアイテムを削除するにはどうすればよいですか?

  3. 3

    Pythonでリストからアイテムを削除するにはどうすればよいですか?

  4. 4

    アイテムをredux状態から削除するにはどうすればよいですか?

  5. 5

    Redux状態から特定のアイテムを削除するにはどうすればよいですか?

  6. 6

    typesafe configのリストからアイテムを削除するにはどうすればよいですか?

  7. 7

    dict値からリストアイテムを削除するにはどうすればよいですか?

  8. 8

    Reactのリストからアイテムを削除するにはどうすればよいですか?

  9. 9

    React Nativeのリストからアイテムを削除するにはどうすればよいですか?

  10. 10

    Ansibleリストからアイテムを削除するにはどうすればよいですか?

  11. 11

    STLなしで2Dアレイから埋められていないスロットを削除するにはどうすればよいですか?

  12. 12

    ReduxストアにIDでアイテムを保存するにはどうすればよいですか?

  13. 13

    Playストアからアプリを削除(非公開)するにはどうすればよいですか?

  14. 14

    指定されたIPアドレスをiptablesから削除するにはどうすればよいですか?

  15. 15

    2つのアレイからデータを削除するにはどうすればよいですか?

  16. 16

    AutoHotkeyアレイから重複を削除するにはどうすればよいですか?

  17. 17

    Recyclerviewリストとストレージからmp3アイテムを削除するにはどうすればよいですか?

  18. 18

    特定の番号で終わるアイテムをローカルストレージから削除するにはどうすればよいですか?

  19. 19

    Ubuntuからスナップストアを削除するにはどうすればよいですか?

  20. 20

    divをクリックしてローカルストレージからアイテムを削除するにはどうすればよいですか?

  21. 21

    選択したアイテムを非同期ストレージから削除するにはどうすればよいですか?

  22. 22

    FlatListのストレージからアイテムを削除するにはどうすればよいですか?

  23. 23

    数字ではないリストアイテムを削除するにはどうすればよいですか?

  24. 24

    phpに含まれる不要なレイアウトをHTML5テンプレートから削除するにはどうすればよいですか?

  25. 25

    Reduxストアの状態でアレイをクリアするにはどうすればよいですか?

  26. 26

    Unityのパネル通知領域からキーボードレイアウトアイコンを削除するにはどうすればよいですか?

  27. 27

    Swift 4の異種アレイからキャストするにはどうすればよいですか?

  28. 28

    ページコードから重複を削除するためにサブレイアウトを作成するにはどうすればよいですか?

  29. 29

    順序付けされていないリストアイテムからインデントを削除するにはどうすればよいですか?

ホットタグ

アーカイブ