我有一个在React Native Navigator组件中创建的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
函数内部访问此传递的prop 。
我不想将导航器存储在redux状态对象上,也不想将prop传递给表示组件。
有什么方法可以将prop传递给此容器组件吗?另外,我还有其他替代方法吗?
谢谢。
mapStateToProps
和mapDispatchToProps
两者取ownProps
作为第二个参数。供参考