我有一个在React Native Navigator组件中创建的react-redux容器组件。我希望能够将导航器作为支持传递给此容器组件,以便在其显示组件中按下按钮之后,可以将对象推送到导航器堆栈。
我想这样做,而不需要手写反应 – redux容器组件给我的所有样板代码(并且也不会错过所有的反应 – 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状态对象上,并且不希望将支持传递给演示组件。
有没有办法,我可以通过一个支柱到这个容器组件?或者,有没有其他可以忽略的方法?
谢谢。
mapStateToProps和mapDispatchToProps都将ownProps作为第二个参数。
[mapStateToProps(state,[ownProps]): stateProps] (Function): [mapDispatchToProps(dispatch,[ownProps]): dispatchProps] (Object or Function):