Sto solo facendo una semplice app per imparare async con redux. Ho ottenuto tutto funziona, ora voglio solo visualizzare lo stato attuale sulla pagina web. Ora, come posso effettivamente accedere allo stato del negozio nel metodo di rendering?Come accedere allo stato del negozio in React Redux?
Ecco il mio codice (è tutto in una sola pagina, perché sto solo imparando):
const initialState = {
fetching: false,
fetched: false,
items: [],
error: null
}
const reducer = (state=initialState, action) => {
switch (action.type) {
case "REQUEST_PENDING": {
return {...state, fetching: true};
}
case "REQUEST_FULFILLED": {
return {
...state,
fetching: false,
fetched: true,
items: action.payload
}
}
case "REQUEST_REJECTED": {
return {...state, fetching: false, error: action.payload}
}
default:
return state;
}
};
const middleware = applyMiddleware(promise(), thunk, logger());
const store = createStore(reducer, middleware);
store.dispatch({
type: "REQUEST",
payload: fetch('http://localhost:8000/list').then((res)=>res.json())
});
store.dispatch({
type: "REQUEST",
payload: fetch('http://localhost:8000/list').then((res)=>res.json())
});
render(
<Provider store={store}>
<div>
{ this.props.items.map((item) => <p> {item.title} </p>)}
</div>
</Provider>,
document.getElementById('app')
);
Così, nel metodo di rendering dello Stato voglio elencare tutte le item.title
dal negozio.
Grazie
Sei quasi arrivato. È necessario creare un componente collegato al negozio usando la libreria 'react-redux'. Consiglio vivamente di perfezionare la tua conoscenza del redux con il corso gratuito dell'autore: https://egghead.io/courses/getting-started-with-redux – ctrlplusb
Fai 'store.getState()' per leggere effettivamente lo stato da il tuo negozio. http://redux.js.org/docs/api/Store.html#getState –
Grazie per il tutorial. Non capisco perfettamente il redux e questo tutorial mi aiuterà molto. – Parkicism