Questo è successiva al thread che ho postato herecombineReducers causa il codice di rompere
Dopo sacco di risoluzione dei problemi ho scoperto che questo codice funziona senza problemi
import React from 'react';
import { createStore, combineReducers, applyMiddleware } from 'redux';
import createLogger from 'redux-logger';
import thunkMiddleware from 'redux-thunk';
import { Provider } from 'react-redux';
import DataTableReducer from './reducers/DataTableReducer';
import DimensionPickerReducer from './reducers/DimensionPickerReducer';
const loggerMiddleware = createLogger();
const store = createStore(
DimensionPickerReducer,
applyMiddleware(
thunkMiddleware,
loggerMiddleware
)
);
export default store;
Ma se sostituisco il mio unico riduttore con un combinare chiamata riduttore come
import React from 'react';
import { createStore, combineReducers, applyMiddleware } from 'redux';
import createLogger from 'redux-logger';
import thunkMiddleware from 'redux-thunk';
import { Provider } from 'react-redux';
import DataTableReducer from './reducers/DataTableReducer';
import DimensionPickerReducer from './reducers/DimensionPickerReducer';
const loggerMiddleware = createLogger();
const store = createStore(
combineReducers({
DataTableReducer,
DimensionPickerReducer
}),
applyMiddleware(
thunkMiddleware,
loggerMiddleware
)
);
export default store;
comincio subito ottenere gli errori dal controllo DimensionPicker che i puntelli obbligatori non sono stati specificati.
Quindi il metodo combineReducer non funziona per me.
Qui viene caricato un progetto di esempio che mostra il problema.
https://github.com/abhitechdojo/MovieLensReact
Si dovrà eseguire npm install
dopo aver fatto un clone git
e dove sarà dichiarata la struttura dati combinata iniziale? prima stavo dichiarando le singole strutture dati per lo stato iniziale nei rispettivi riduttori. Ora se devo avere una struttura dati per tutto lo stato iniziale. quale sarebbe un buon posto per dichiararlo? –
La struttura dei dati deve ancora essere dichiarata nei rispettivi riduttori. E se vuoi caricare i dati iniziali nel tuo negozio, il posto migliore è dove dichiari 'createStore()', passalo come secondo argomento. Maggiori informazioni su questo: https://github.com/reactjs/redux/blob/master/docs/api/createStore.md – xCrZx