0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

ReactのRedux

Last updated at Posted at 2020-01-01

はじめに

ReactのReduxに関するメモ。
ReactのクラスコンポーネントとかJSXとかコンテキストとか調べてみたの続き

参考

React.js&Next.js超入門

Redux

  • 複数のコンポーネント、アプリケーション全体で使うような値をまとめるもの
    • this.stateはコンポーネント単位で存在する
  • 値や処理をアプリ内で統合し管理するための仕組みのライブラリ
  • 値の保管は場所は一つだけ
    • アプリケーションごとに一つだけ
  • 値は読み取り専用、書き換え不可
  • 変更は単純な関数で用意

インストール

npm install --save redux
npm isntall --save react-redux
npm isntall --save redux-devtools

仕組み

  • ストア
    • 値を保管するステートと、値の操作処理であるレデューサーを内部に持っている
  • プロバイダー
    • ストアを他のコンポーネントに受け渡すための仕組み
  • レデューサー
    • ストアに保管されているステートを変更するための仕組み

Reduxの値の管理は、上記3つでできている

ストアの作成

変数= createStore(レデューサー);

作成されたストアを変数に収めておき、それを画面表示のJSXでプロバイダーに渡して利用

コンポーネントにストアを接続


変数=connect(ステート)(コンポーネント);

これでthis.props.ストアの値とthis.props.dispatchが使えるようになる


変数=connect()(コンポーネント);

これはステートを使わずthis.props.dispathを使えるようにする

providerでストアを受け渡す


<Provider store={store}>
  <APP/>
</Provider>

redux全体

index.jsでステート、レデューサーを定義して、renderでAppコンポーネントを利用。
Appコンポーネントの中で各コンポーネントを利用、ストアを使いたいコンポーネントだけプロバイダーでくくりその中でコンポーネントを利用する
Appコンポーネントで利用するコンポーネントの定義とコンポーネントとストアを結びつけることで、各コンポーネントから
dispatchからレデューサーを利用する

データの永続化 Redux Persist

Reduxのストアのデータをブラウザのローカルストレージに保存する

npm install --save redux-persist
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?