[Redux] Redux Toolkit - createSlice()


reduxを使用するとステータス管理が容易になりますが、reduceとactionを個別に管理する必要があるため、コード量が増加します.
この記事は、比較的簡単なコードを使用してステータス管理を行うのに役立つRedux-toolkitに関する記事です.
createSliceとは?
createSlice():リスナー関数のオブジェクト、スライス名、初期状態値を受け入れ、アクション作成者とアクションタイプで自動的にスライスリスナーを作成します.
  • アクションタイプを定義し、アクション総数:Actionsを作成します.js
  • 初期状態、reducer関数:reducersを定義します.js
  • これらの古いコードは上記の構造を有する.createSliceでは、1つのファイルでactionとreduceを管理できます.
    createAction、createReducer関数は内部で使用され、createSliceで宣言されたスライス名(次の例のコードのname部分)に基づいてreduce、action作成者、action typeが自動的に作成されます.
    createSliceの使用
    // SearchSlice.tsx
    import { createSlice } from '@reduxjs/toolkit'
    
    const SearchSlice = createSlice({
        name: "reducers",
        initialState: {
            list: []
        },
        reducers: {
            addToList(state, action) {
                state.list = action.payload
            }
        }
    })
    
    // action과 reducer를 export 해줍니다 
    export const searchAction = SearchSlice.actions
    export const searchReducer = SearchSlice.reducer
    
    // Main.tsx
    import {searchAction} from "./components/store/SearchSlice";
    import {useDispatch} from "react-redux";
    
    const dispatch = useDispatch();
    ...
    
    dispatch(searchAction.addToList(response.data));
    
    前述したようにcreateSliceでは、action type、actionコンストラクション関数、reduceを一度に作成できます.
    dispatchの方法は同じです.先にエクスポートしたactionをdispatch関数のパラメータとする
  • name
    名前は
  • slice、接頭辞は
  • 減速機は、未定義の状態値を呼び出すたびに
  • を用いる.
  • initialState
  • 初期状態値
  • reducers
    製造可能
  • 減速機
  • action type上のnameを接頭辞として使用する自動生成,ex)Reducers/addToList
  • .
    注意事項
    値はペイロードとして送信されるため、reduceから値を取得する方法を理解するために、値の構造を理解する必要があります.
    それ以外は
  • extraReducer()
  • configureStore()
  • この部分はまだ勉強中なので、補足するつもりです!
    の最後の部分
    私はこの概念を知っていますが、実際に使いたいなら、多くの場所が詰まっています.
    難しいです.
    reduceは、actionを単独で記述する方が読みやすいが、createsliceを使用するとコード量が減少するようだ.
    参考になる文章
  • https://redux-toolkit.js.org/api/createslice
  • http://blog.hwahae.co.kr/all/tech/tech-tech/6946/