Tengo un componente contenedor react-redux que se crea dentro de un componente React Native Navigator. Quiero poder pasar el navegador como un accesorio a este componente contenedor para que después de presionar un botón dentro de su componente de presentación, pueda empujar un objeto a la pila del navegador.
Quiero hacer esto sin necesidad de escribir a mano todo el código repetitivo que me da el componente contenedor react-redux (y tampoco perderme todas las optimizaciones que me daría react-redux aquí también).
Ejemplo de código de componente de contenedor:
const mapStateToProps = (state) => {
return {
prop1: state.prop1,
prop2: state.prop2
}
}
const mapDispatchToProps = (dispatch) => {
return {
onSearchPressed: (e) => {
dispatch(submitSearch(navigator)) // This is where I want to use the injected navigator
}
}
}
const SearchViewContainer = connect(
mapStateToProps,
mapDispatchToProps
)(SearchView)
export default SearchViewContainer
Y me gustaría poder llamar al componente de esta manera desde mi renderScene
función de navegador :
<SearchViewContainer navigator={navigator}/>
En el código del contenedor anterior, necesitaría poder acceder a esta propiedad pasada desde dentro de la mapDispatchToProps
función.
No me apetece almacenar el navegador en el objeto de estado redux y no quiero pasar el accesorio al componente de presentación.
¿Hay alguna forma de que pueda pasar un accesorio a este componente de contenedor? Alternativamente, ¿existen enfoques alternativos que estoy pasando por alto?
Gracias.
fuente