У меня есть компонент контейнера реакции-redux, который создается в компоненте React Native Navigator. Я хочу иметь возможность передать навигатор в качестве опоры для этого компонента контейнера, чтобы после нажатия кнопки внутри его презентационного компонента он мог выталкивать объект в стек навигатора.
Я хочу сделать это без необходимости писать весь код шаблона, который дает мне компонент контейнера реакции-редукта (а также не пропускать все оптимизации, которые отреагировал-редукс тоже дал бы мне здесь).
Пример кода компонента контейнера:
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
И я хочу, чтобы иметь возможность вызвать компонент, как это из моей навигационной функции renderScene
:
<SearchViewContainer navigator={navigator}/>
В приведенном выше коде контейнера мне нужно будет получить доступ к этому переданному опору из функции mapDispatchToProps
.
Мне не нравится хранить навигатор на объекте состояния redux и не хочу передавать подсказку на презентационный компонент.
Есть ли способ, которым я могу перейти в опору к этому компоненту контейнера? Альтернативно, есть ли альтернативные подходы, которые я пропускаю?
Спасибо.