React Native – installazione Redux Toolkit
Redux è senza dubbio una delle librerie per la gestione dello stato più usata in progetti React Native. In questa breve guida mostro i principali passaggi e sintassi per usare questa libreria nell’ultima versione Toolkit che estende e semplifica l’implementazione della stessa.
Per maggiori info riguardo Redux Toolkit: https://redux-toolkit.js.org/
Installare le dipendenze necessarie
Per utilizzare Redux toolkit dobbiamo installare nel nostro progetto le seguenti dipendenze:
$npm install react-redux
$npm install @reduxjs/toolkit
Creare Reducer e azioni
Una delle principali novità introdotte con Toolkit è la possibilità di creare il reducer e le relative azioni attraverso un’unica funzione chiamata createSlice( ). La sintassi è la seguente:
import { createSlice } from '@reduxjs/toolkit';
export const homeStore = createSlice({
name: 'home',
initialState: [],
reducers: {
addProduct(state, action) {
state.push(action.payload);
},
deleteProduct(state, action) {
const index = state.findIndex((p) => p.id === action.payload);
state.splice(index, 1);
},
},
});
export const {addProduct, deleteProduct} = homeStore.actions;
export default homeStore.reducer;
Una cosa importante da notare è l’aggiornamento dello stato. Grazie a Redux Toolkit non dobbiamo usare l’immutabilità per aggiornare lo stato ma possiamo agire direttamente su di esso come vediamo ad esempio nella riga 8 (state.push(action.payload)). Questo è possibile grazi ad Immer.js che è direttamente incluso in Toolkit.
Configurazione store
Per prima cosa creiamo lo store utilizzando combineReducers e configureStore. La sintassi è la seguente:
import { combineReducers, configureStore } from '@reduxjs/toolkit';
import homeReducer from '../Pages/home/store/homeStore';
const rootReducer = combineReducers({
home: homeReducer,
//altri reducers...
});
const store = configureStore({ reducer: rootReducer });
export default store;
Successivamente dobbiamo wrappare l’intera app con Provider fornito da ‘react-redux’:
import React from 'react';
import { Provider } from 'react-redux';
import store from './store/store';
const App: () => React$Node = () => {
return (
<Provider store={store}>
<YourApp />
</Provider>
);
};
export default App;
Related Posts
Agosto 29, 2021
React Native- Primi passi con le animazioni
Marzo 16, 2021
React Native – createContex( ) e useContex( )
Febbraio 15, 2021

