[ReactNative]react-reduxのセットアップ

Table of Content

react-reduxを使ってみよう

stateの管理はComponentごとに行うことは可能ですが、stateの情報がたくさんになるとComponent毎に定義していては管理がしづらくなります。グローバルにstateにアクセスできるようにするのに、reduxが使用されます。まずはreduxに関連のあるlibraryをインストールします。

npm i --save redux react-redux

次にstoreを定義します。

import { createStore, compose, applyMiddleware } from 'redux';
import reducers from '../reducers';
const store = createStore(
  reducers,
  {},
  compose(
    applyMiddleware(thunk)
  )
);
export default store;

dummyのreducerを作る。空のデータを渡す、最小限のコードになります。

import { combineReducers } from 'redux';
export default combineReducers({
  auth: () => { return {}; }
});

Providerコンポーネントをrootコンポーネントで囲む。これによりProviderタグの下層のコンポーネントから、react-reduxのconnectヘルパーを使用してコンポーstoreにアクセスすることができます。

import React, { Component } from 'react';
import { Provider } from 'react-redux';
import { Text, View } from 'react-native';
import MainTabNavigator from './navigation/MainTabNavigator';
import store from './store';

export default class App extends Component {
  render() {
    return ();
  }
}

Scroll to top