Вы должны собрать все свои редукторные редукторы в один гигантский редуктор, используя combReducers
import ToDoReducer from './todo-reducer.js';
import OtherReducer from './other-reducer.js';
import {combineReducers} from 'redux';
const allReducers = combineReducers({
ToDo:ToDoReducer,
OtherR:OtherReducer,
});
export default allReducers;
Затем в своем корневом файле примените комбинированный редукторный редуктор с помощью провайдераact-rudux.
import thunk from 'redux-thunk';
import { Provider } from 'react-redux';
const store = createStore(allReducers, applyMiddleware(thunk));
class App extends React.Component{
render(){
return(
<Provider store={store}>
<YourSecondaryMainComponent />
</Provider>
)
}
....
Затем вы можете использовать их в своих компонентах с помощью connect и bindActionCreators.
import React from 'react';
import { bindActionCreators } from 'redux';
import { connect } from 'react-redux';
import editTodo from './todoFunctions.js';
class myComponent extends React.Component{
...
}
let mapStateToProps = (state)=>{return {ToDo:state.ToDo}; };
let matchDispatchToProps = (dispatch)=>{ return bindActionCreators({ editTodo }, dispatch); }
export default connect(mapStateToProps,matchDispatchToProps)(myComponent);