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

前端之家收集整理的这篇文章主要介绍了反应 – 通过道具反应减少容器组件前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个在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相关文章