我有一个在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函数中调用这样的组件:
renderScene
<SearchViewContainer navigator={navigator}/>
在上面的容器代码中,我需要能够从mapDispatchToProps函数内部访问此传递的prop 。
mapDispatchToProps
我不想将导航器存储在redux状态对象上,也不想将prop传递给表示组件。
有什么方法可以将prop传递给此容器组件吗?另外,我还有其他替代方法吗?
谢谢。
mapStateToProps和mapDispatchToProps两者取ownProps作为第二个参数。
mapStateToProps
ownProps
[mapStateToProps(state, [ownProps]): stateProps] (Function): [mapDispatchToProps(dispatch, [ownProps]): dispatchProps] (Object or Function):
供参考