usar react para método medium mapstatetoprops estado español ejemplo componentes javascript reactjs redux

javascript - para - redux react español



Cómo utilizar reaccion-redux con mapStateToProps, MapDispatchToProps y redux-router (2)

Quiero usar en mi contenedor "LoginPage" (componente inteligente) redirigido después de iniciar sesión. Algo como esto:

handleSubmit(username, pass, nextPath) { function redirect() { this.props.pushState(null, nextPath); } this.props.login(username, pass, redirect); //action from LoginAcitons }

El nombre de usuario y el pase llegaron del componente tonto.

Componente inteligente conectar

function mapStateToProps(state) { return { user: state.app.user }; } function mapDispatchToProps(dispatch) { return bindActionCreators(LoginActions, dispatch) }

¿Cómo puedo agregar pushState desde redux-router? O estoy en el camino equivocado?

export default connect(mapStateToProps, {pushState})(LoginPage); //works, but haven''t actions export default connect(mapStateToProps, mapDispatchToProps)(LoginPage); //works, but haven''t pushState export default connect(mapStateToProps, mapDispatchToProps, {pushState})(LoginPage); //Uncaught TypeError: finalMergeProps is not a function


Esqueleto simple:

import React from ''react''; import ReactDOM from ''react-dom'' import { createStore,applyMiddleware, combineReducers } from ''redux'' import { connect, Provider } from ''react-redux'' import thunk from ''redux-thunk'' import logger from ''redux-logger'' import View from ''./view''; import {playListReducer, artistReducers} from ''./reducers'' /*create rootReducer*/ const rootReducer = combineReducers({ playlist: playListReducer, artist: artistReducers }) /* create store */ let store = createStore(rootReducer,applyMiddleware(logger ,thunk)); /* connect view and store */ const App = connect( state => ({ //same key as combineReducers playlist:state.playlist, artist:state.artist }), dispatch => ({ }) )(View); ReactDOM.render( <Provider store={store}> <App /> </Provider> , document.getElementById(''wrapper''));


function mapStateToProps(state) { return { user: state.app.user }; } function mapDispatchToProps(dispatch) { return { actions: bindActionCreators(LoginActions, dispatch), routerActions: bindActionCreators({pushState}, dispatch) } } export default connect(mapStateToProps, mapDispatchToProps)(LoginPage);