日10:Reduxを減らすこと


fyeamn tehcinuqe syas taht taecinhg sbujcetはそれを良くしてくれます.このポストの間違いを見たなら、あなたは私を訂正するかもしれない

ストア、削減、アクション!


Reduxは、国家管理のライブラリです.では、何ですか.
反応の主なパラダイムを覚えていますか?このアプリは、単一のコンポーネントだけがその子に渡される状態(または真実)を保持する単一のソースを持つ必要があります.
反応して、状態は単純なJavaScriptオブジェクトとして格納されます.小さなプロジェクトでは、これは十分です.しかし、あなたのアプリケーションが複数のユーザー入力とAPIを処理し始めるとき、あなたは彼らを組織するためにより複雑なデータ構造を必要とします😵‍💫.
reduxを入力してください!彼らは複雑な組織をより直感的に組織化するためのマネージャーとして行動する🥳. 状態は、別のコンポーネントに格納され、このジョブから反応コンポーネントを解放します.

動作方法


状態はストアに格納されます.我々は、ストアから州の値を要求することができますまたは状態に変更を聞いてください.状態を更新するには、ストアにアクションを渡す必要があります.

保存状態🏪


状態を管理するReduxのために、我々は状態を保つために店を初期化する必要があります.
Redux.createStore(reducer);
reducer はreduxで使用する関数です.基本的に、アクションが通過されるとき、Reduxはこれを使いますreducer 関数は、状態をどうするかを決定する.話をするつもりだreducer この後.reducer はreduxで使用する関数です.基本的に、アクションが通過されるとき、Reduxはこれを使いますreducer 関数は、状態をどうするかを決定する.話をするつもりだreducer この後.

還元機能


これは還元子の構文です.
const reducer = function(state = 0, action) {
  switch(action.type) {
    case "increment":
      return state + 1;
      break;

    case "decrement":
      return state - 1;
      break;

    default:
      return state;
  }
}
初期状態は、デフォルトのパラメータとして宣言されます.アクションは、状態を更新するためにストアに渡されるオブジェクトです.
行動に応じてtype , 私たちは新しい状態を返します.reduxがこれのためにあなたの手を叩かないので注意してください.それはちょうどあなたを後に粉砕するバグを隠して👿.
また、switch ステートメントはreduxで一般的です.慣れる.

国家を得るか、または彼らの苦しみの変化を聞く


Walmartとは異なり、状態をつかむために支払う必要はありません.あなたはstore.getState() 機能
let wholeStore = store.getState();
ちょうど電話で、あなたはすべての州を得ることができます.
変更を聞くstore.subscribe :
store.subscribe(killEveryone);
The killEveryone 関数は、状態が変更されたときに実行されます.

アクション


状態の更新は、アクションをストアに渡すことを意味します.アクションはJavaScriptオブジェクトですtype 必須キーとして.値type キーはアクションの名前、例えばログイン、プレスなどです.
let actionLogin = {
  type: "LOGIN"
};
また、アクション内のキー値のペアとしてデータを渡すことができます.
行動を店に通すstore.dispatch() :
store.dispatch(actionLogin);
アクションを返す関数もパラメーターを使用できます.この場合、この関数はaction creatorと呼ばれます.

小さな先端


あなたが店の中の大きなVATにすべての種類の州と行動を捨てて好きでないならばRedux.combineReducer() :
const loginReducer = function(state = {auth: false}, action) {
  if(action.type === "LOGIN"):
    return ({ auth:true });
}

const colorReducer = function(state, action) {
  return color = "white";
}

Redux.combineReducer({
  login: loginReducer,
  color: colorReducer
});
上記の設定は入れ子になったオブジェクトを作成します:外部のキーには' login 'と' color 'があります.各キーの内部は、その還元器によって定義された状態を含むオブジェクトです.

余韻


Reduxは、反応と最終的なプロジェクトとの統合に飛び込む前に、私のための小さなブレークです.たまには息遣いがいい😌.
フォローミーオンGithub !
また!