Il seguente modulo contiene utilità per redux.
Exports
configureStore ({ initialState, reducer = {}, middleware = [] })
Permette di configurare lo store dell'applicazione applicando l'initialState, il reducer e i middleware che gli sono stati forniti.
Arguments
- config (Object): un oggetto di configurazione formato dai seguenti attributi
- initialState (Object): initialState dell'applicazione
- reducer (Object): reducer da utilizzare per creare lo state
- middleware (Array): array contenente i middleware da applicare
Returns
(store): redux store creato dai parametri che gli sono stati passati
Note
Sono applicati automaticamente i seguenti middleware
- redux-thunk
- redux-promise
- redux-logger (se e solo se
process.env.enableLogger
nel filewebpack.config
è impostato atrue
)
Esempio
const store = configureStore({
reducer,
initialState,
middleware: [],
});
combineReducers (reducers)
Corrisponde semplicemente alla funzione combineReducers
esposta da redux: http://redux.js.org/docs/api/combineReducers.html.
combineReducersInApp (reducers)
Effettua il combineReducers
dei reducer passati direttamente all'interno del valore app. Fare riferimento alla struttura dello state per ulteriori informazioni.
Arguments
-
reducers (Object): input corrisponde a quello della funzione
combineReducers
Returns
(function): output corrisponde a quello della funzione combineReducers
Esempio
combineReducersInApp(reducers);
// is equals to
combineReducers({
i18n,
theme,
app: combineReducers(reducers)
});
buildDefaultI18n (translations)
Costruisce le configurazioni di default per le traduzioni con i seguenti criteri:
- utilizza la lingua di default impostata nel browser
- ottiene le stringhe tradotte dall'oggetto che gli è stato passato in base alla lingua ottenuta. Se le stringhe corrispondenti alla lingua non sono disponibili viene impostata automaticamente la lingua inglese
Viene utilizzato nell'inizializzazione dello state con le modalità riportate nell'esempio
Arguments
- translations (Object): oggetto contenente tutte le traduzioni dell'applicazione
Returns
(Object): oggetto i18n dello state
{
locale,
messages,
}
Esempio
export default {
theme,
i18n: buildDefaultI18n(translations),
};
Development
Possono essere aggiunte funzionalità al seguente modulo rispettando le seguenti direttive:
- Piccole funzioni possono essere aggiunte nel file
src/index.js
- Funzione di complessità maggiore devono essere incluse in file specifici
Le funzioni aggiunte devono essere sancite per essere esportate nel file index.js