Veo que las funciones mapStateToProps
y mapDispatchToProps
que se pasan a la connect
función en Redux toman ownProps
como segundo argumento.
[mapStateToProps(state, [ownProps]): stateProps] (Function):
[mapDispatchToProps(dispatch, [ownProps]): dispatchProps] (Object or Function):
¿Para qué sirve el [ownprops]
argumento opcional ?
Estoy buscando un ejemplo adicional para aclarar las cosas, ya que ya hay uno en los documentos de Redux.
redux
react-redux
therewillbecode
fuente
fuente
Respuestas:
Si
ownProps
se especifica el parámetro, react-redux pasará los accesorios que se pasaron al componente a susconnect
funciones. Entonces, si usa un componente conectado como este:El
ownProps
interior de sus funcionesmapStateToProps
ymapDispatchToProps
será un objeto:Y podría usar este objeto para decidir qué devolver de esas funciones.
Por ejemplo, en un componente de publicación de blog:
Puede devolver los creadores de acciones de Redux que hacen algo en esa publicación específica:
Ahora usarías este componente así:
fuente
ownProps se refiere a los accesorios que fueron transmitidos por el padre.
Así por ejemplo:
Parent.jsx:
Child.jsx:
fuente
La respuesta de goto-bus-stop es buena, pero una cosa para recordar es que, según el autor de redux, Abramov / gaearon, usar ownProps en esas funciones las hace más lentas porque deben volver a vincular los creadores de acción cuando cambian los accesorios.
Vea su comentario en este enlace: https://github.com/reduxjs/redux-devtools/issues/250
fuente