Всем доброго дня.
Хочу разобраться с библиотекой redux.
Что я делаю
файл app.js
import {applyMiddleware, createStore} from 'redux';
import {composeWithDevTools} from 'redux-devtools-extension';
import thunk from 'redux-thunk';
import reducer from '../blocks/reducers';
const store = createStore(
reducer(),
composeWithDevTools(applyMiddleware(...[thunk])),
);
store.subscribe(() => {
console.log('sub ', store.getState());
});
store.dispatch({type: 'ADD_TRACK', payload: 'Simple like spirit'});
файл index.js в папке reducers
import {combineReducers} from 'redux';
import user from './playList';
export default () =>
combineReducers({
user,
});
файл playList.js в папке reducers
export default (state = [], action) => {
if (action.type === 'ADD_TRACK') {
return [...state, action.payload];
}
return state;
};
На данном этапе все хорошо и работает и даже можно что то написать вызывая store.dispatch и изменять этим store в файле app.js.
Но это все хорошо, но мне хочется что бы я store мог менять из любого класса моего приложения, то есть я сейчас создам класс, напишу в нем метод, по клику который должен бегать на сервер и получать данные.Далее подключу этот класс в app.js Но вот только не как не пойму, как в этом классе вызвать store.dispatch и кинуть в него эти данные.
Вопрос, как правильно подключить redux, что бы была возможность в разных классах использовать один store?