21
loading...
This website collects cookies to deliver better user experience
npm i redux react-redux
createStore()
e armazenamos seu retorno em uma variável, essa que será exportada.const store = createStore(rootReducer);
export default store;
const store = createStore(
rootReducer,
window.__REDUX_DEVTOOLS_EXTENSION__ && window.__REDUX_DEVTOOLS_EXTENSION__(),
);
combineReducers()
, essa que recebe um objeto com todos os Reducers desejados.const rootReducer = combineReducers({
someReducer,
otherReducer,
anotherReducer,
});
const newAction = (payload) => ({ type: “NEW_ACTION”, payload });
ReactDOM.render(
<React.StrictMode>
<Provider store={ store }>
<App />
</Provider>
</ReactStrictMode>,
document.getElementById(‘root’);
);
export default connect(mapStateToProps, mapDispatchToProps)(Component);
export default connect(null, mapDispatchToProps)(Component);
export default connect(mapStateToProps, null)(Component);
connect()()
, porém para que ele consiga fazer isso, devemos passar funções específicas nomeadas por convenção de mapStateToProps e mapDispatchToProps.const mapStateToProps = (state) => ({
someProps: state.someReducer,
});
dispatch()
já vinculado a uma Action, assim temos acesso, através das props, a uma função que poderá modificar o estado de nosso Reducer.const mapDispatchToProps = (dispatch) => ({
someAction: (value) => dispatch(newAction(value)),
});