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 (); } }