Redux + Reactotron
Instalação
Instalação da versão desktop:
https://github.com/infinitered/reactotron/releases (Arquivo .deb)
Instalação no projeto
$ yarn add reactotron-react-js reactotron-redux
Arquivo src/config/ReactotronConfig.js
import Reactotron from 'reactotron-react-js';import { reactotronRedux } from 'reactotron-redux';if (process.env.NODE_ENV === 'development') {const tron = Reactotron.configure().use(reactotronRedux()).connect();tron.clear();console.tron = tron;}
Remoção do erro de console no .eslintrc.js
'no-console': ["error", { allow: ["tron"]}]
Configurações
Importação (após as importações de módulos) do Reactotron no arquivo src/App.js
import './config/ReactotronConfig';
Arquivo src/store/index.js
Alterações no store e adição da variável enhancer:
const enhancer =process.env.NODE_ENV === 'development' ? console.tron.createEnhancer() : null;const store = createStore(rootReducer, enhancer);
Redux Saga + Reactotron
Mudanças no enhancer do arquivo src/store/index.js (também anotado no arquivo redux-saga.md)
const enhancer =process.env.NODE_ENV === 'development'? compose(console.tron.createEnhancer(), applyMiddleware(sagaMiddleware)): applyMiddleware(sagaMiddleware);
Instalação
$ yarn add reactotron-redux-saga
Configurações
Arquivo src/config/ReactotronConfig.js
Importação do reactotronSaga
import reactotronSaga from 'reactotron-redux-saga';
Uso do reactotronSaga na variável tron
if (process.env.NODE_ENV === 'development') {const tron = Reactotron.configure().use(reactotronRedux()).use(reactotronSaga()).connect();tron.clear();console.tron = tron;}
Arquivo src/store/index.js
Criação da variável sagaMonitor
em ambientes de desenvolvimento e configurando ele no createSagaMiddleware()
.
const sagaMonitor =process.env.NODE_ENV === 'development'? console.tron.createSagaMonitor(): null;const sagaMiddleware = createSagaMiddleware({sagaMonitor,});