React NativeNavigatorコンポーネント内に作成されたreact-reduxコンテナコンポーネントがあります。ナビゲーターを小道具としてこのコンテナーコンポーネントに渡して、プレゼンテーションコンポーネント内でボタンを押した後、オブジェクトをナビゲータースタックにプッシュできるようにしたいと思います。
私は、react-reduxコンテナコンポーネントが提供するすべての定型コードを手書きする必要なしにこれを実行したいと思います(また、react-reduxがここでも提供するすべての最適化を見逃さないでください)。
コンテナコンポーネントコードの例:
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状態オブジェクトに保存したくないし、小道具をプレゼンテーションコンポーネントに渡したくない。
このコンテナコンポーネントに小道具を渡す方法はありますか?あるいは、私が見落としている代替アプローチはありますか?
ありがとう。