Ho un componente contenitore react-redux che viene creato all'interno di un componente React Native Navigator. Voglio essere in grado di passare il navigatore come supporto a questo componente contenitore in modo che dopo aver premuto un pulsante all'interno del suo componente di presentazione, possa spingere un oggetto nella pila del navigatore.Passare oggetti di scena per reagire-redux componente container
Voglio farlo senza dover scrivere a mano tutto il codice boilerplate che mi dà il componente contenitore react-redux (e anche non perdere tutte le ottimizzazioni che reagiscono-redux mi darebbe anche qui).
esempio di codice componente contenitore:
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
E vorrei essere in grado di chiamare il componente come questo da dentro il mio funzione di navigatore renderScene
:
<SearchViewContainer navigator={navigator}/>
Nel codice del contenitore sopra, Dovrei essere in grado di accedere a questo oggetto passato dalla funzione mapDispatchToProps
.
Non mi piace memorizzare il navigatore sull'oggetto redux state e non voglio passare il puntello al componente di presentazione.
C'è un modo per passare un puntello a questo componente contenitore? In alternativa, ci sono degli approcci alternativi che sto trascurando?
Grazie.
Come posso accedere ad esso in mapDispatchToProps? – Michael
@Michael allo stesso modo, puoi usare il secondo argomento –