反应 – 通过道具反应减少容器组件

我有一个在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):

对于reference

相关文章

一、前言 在组件方面react和Vue一样的,核心思想玩的就是组件...
前言: 前段时间学习完react后,刚好就接到公司一个react项目...
前言: 最近收到组长通知我们项目组后面新开的项目准备统一技...
react 中的高阶组件主要是对于 hooks 之前的类组件来说的,如...
我们上一节了解了组件的更新机制,但是只是停留在表层上,例...
我们上一节了解了 react 的虚拟 dom 的格式,如何把虚拟 dom...