type react multiple es6 define creators bindactioncreators and actions reactjs react-redux

reactjs - react - redux-thunk



¿Cuál es la diferencia entre dispatch y bindActionCreators? (1)

Si nos estamos conectando a la acción mediante el envío, hay dos formas:

1. this.props.dispatch(requestEmployees()); 2. const mapDispatchToProps = (dispatch) => ({ requestEmployees: () => dispatch(requestEmployees()) });

Si hacemos lo mismo con la ayuda de bindActionCreators, nuestro código será:

function matchDispatchToProps(dispatch) { return bindActionCreators({ editLabResult: requestEmployees}, dispatch); }

Ahora mi pregunta es, ¿cuál debería usar dispatch o bindActionCreators ? ¿Cuál es la diferencia entre ellos?


En realidad es lo mismo. El resultado de

bindActionCreators({ editLabResult: requestEmployees}, dispatch);

Es lo que has creado manualmente:

requestEmployees: () => dispatch(requestEmployees())

Según la documentación de redux bindActionCreators :

Convierte un objeto cuyos valores son creadores de acciones, en un objeto con las mismas claves, pero con cada creador de acciones envuelto en una llamada de despacho para que puedan invocarse directamente.

bindActionCreators({ editLabResult: requestEmployees, anotherAction, etc... }, dispatch);

En lugar de usar bindActionCreators , puede pasar el objeto al método de connect , y hará el ajuste por usted:

connect(mapStateToProps, { editLabResult: requestEmployees, anotherAction, etc... })