【问题标题】:Redux - how do i access the app state from sub-components?Redux - 我如何从子组件访问应用程序状态?
【发布时间】:2019-01-17 15:40:04
【问题描述】:

假设我有以下组件结构:

App -> Comp1 -> Comp2 -> Comp3 -> Comp4 -> Comp5

其中AppComp1的父组件Comp2的父组件,以此类推。

我在App 中创建store,并使用“react-redux”库中的“connect”函数将其连接到Comp1

现在,如果我想访问应用程序状态或从Comp5 发送操作,我该怎么办?

我知道的方式是从AppComp5 一直传递道具(状态和调度),这似乎并不直观。

这方面的最佳做法是什么?

【问题讨论】:

    标签: redux


    【解决方案1】:

    使用Redux 忘记了component hierarchy,您可以将store 直接连接到您的组件comp5

    import { connect } from "react-redux";
    
        const mapStateToProps = (state, ownProps) => {
          return {
            ...state.getExampleReducer,
            ...ownProps
          };
        };
    
        const mapDispatchToProps = {
         ActionsFunctions
        };
    
        export default connect(
          mapStateToProps,
          mapDispatchToProps
        )(comp5);
    

    【讨论】:

    • 感谢您的详细解答!所以我必须在我想访问商店的每个组件中定义并连接mapStateToPropsmapDispatchToProps
    • 将你的组件与商店连接后,你会发现所有作为道具传递的信息,因此你可以轻松访问它。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-08
    • 2023-03-23
    • 1970-01-01
    • 2020-03-24
    • 2018-09-08
    相关资源
    最近更新 更多