李徳思とは何ですか.

3844 ワード

私はあなたが初めて李徳士を勉強したとき、状態を管理してくれることを知っていますが、私はあなたがどのように操作しているのか分かりません.
[ベロフの特大人の反応を語る技術]『アリデウスはそうだったのか』を読んで『アリデウスはそうだったのか』と気づいた
Ridexを理解するためには、自分の地図、今まで勉強してきた言語、ライブラリのように動作するルール、使いやすい機能が必要です.
私の読書の理解方法を整理してみました.

モバイルリドスの代表キーワード


アクション、アクション作成関数、リダイレクト、ショップ、派遣、サブスクリプション

リデスの3つのルール

  • ワンポイントショップ
  • 読取り専用ステータス:冗長ステータスは読取り専用です.ステータスを更新して一定に保つ場合は、既存のオブジェクトに触れずに新しいオブジェクトを作成する必要があります.
  • reducerは純粋な関数です.変化を引き起こすreducer関数は純粋な関数でなければなりません.
    -前の状態で、動作オブジェクトをパラメータとして受信
    -パラメータ以外の値に依存しない
    -新しい状態オブジェクトを作成して、以前の状態に触れずに新しい状態オブジェクトを返します.
    -同じパラメータを呼び出すreducer関数は、常に同じ結果値
  • を返す必要があります.

    アクション

  • 変更が必要な場合は、行動
  • が発生します.
  • として表すオブジェクト->アクションオブジェクトにはtypeフィールドが必要です.この値をアクションの名前として扱うと
  • になります.
    {
    type:'ADD_TODO'
    } //액션의 이름은 ADD_TODO

    アクション作成関数(action creator)

  • アクションオブジェクトを作成する関数
  • function addTodo(data){
    	return{
        	type:'ADD_TODO',
            data
        }
    }
    

    ストア

  • プロジェクトに適用するstoreを作成
  • の1つのプロジェクトには1つの店しかありません.
  • Storeには、
  • のアプリケーション・ステータス、リダイレクト・プログラム、およびいくつかの重要な組み込み関数(派遣、サブスクリプションなど)があります.

    派遣する

  • 動作
  • > dispatch(action) //이런 형태로 되어있다. 액션 객체를 파라미터로 넣어 호출
    
     
    dispatch({type:'ADD_TODO'}) //만약 'ADD_TODO'를 넣고싶다면 이렇게

    購読する

  • subscribe関数でリスナー関数をパラメータとして呼び出すと、リスナー関数は、動作がディスパッチされ、状態が更新されたときに
  • を呼び出す.
    const listener = () => {
    	console.log('상태가 업데이트 됨')
    }
    const unsubscribe = store.subscribe(listener);
    unsubscribe(); //추후 구독을 비활성화할 때 함수를 호출