Vejo que as funções mapStateToProps
e mapDispatchToProps
que são passadas para a connect
função no Redux levam ownProps
como um segundo argumento.
[mapStateToProps(state, [ownProps]): stateProps] (Function):
[mapDispatchToProps(dispatch, [ownProps]): dispatchProps] (Object or Function):
Para que serve o [ownprops]
argumento opcional ?
Estou procurando um exemplo adicional para deixar as coisas claras, pois já existe um nos documentos do Redux
redux
react-redux
então será codificado
fonte
fonte
Respostas:
Se o
ownProps
parâmetro for especificado, react-redux passará os adereços que foram passados para o componente em suasconnect
funções. Portanto, se você usar um componente conectado como este:O
ownProps
dentro de suas funçõesmapStateToProps
emapDispatchToProps
será um objeto:E você pode usar esse objeto para decidir o que retornar dessas funções.
Por exemplo, em um componente de postagem de blog:
Você poderia devolver os criadores de ação do Redux que fazem algo para aquela postagem específica:
Agora você usaria este componente da seguinte maneira:
fonte
ownProps refere-se aos adereços que foram passados pelo pai.
Então, por exemplo:
Parent.jsx:
Child.jsx:
fonte
A resposta de goto-bus-stop é boa, mas uma coisa a lembrar é que, de acordo com o autor de redux, Abramov / gaearon, usar ownProps nessas funções as torna mais lentas porque eles devem religar os criadores de ação quando os adereços mudam.
Veja seu comentário neste link: https://github.com/reduxjs/redux-devtools/issues/250
fonte