我有一个在 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
功能。
我不喜欢将导航器存储在 redux 状态对象上,也不希望将 prop 传递给演示组件。
有没有办法可以将 prop 传递给这个容器组件?或者,是否还有我忽略的替代方法?
Thanks.
mapStateToProps
and mapDispatchToProps
两者都采取ownProps
作为第二个参数。
[mapStateToProps(state, [ownProps]): stateProps] (Function):
[mapDispatchToProps(dispatch, [ownProps]): dispatchProps] (Object or Function):
For 参考 https://github.com/reduxjs/react-redux/blob/master/docs/api/connect.md#mapstatetoprops-state-ownprops--object
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)