创建一个redux类的对象

时间:2018-06-26 13:52:28

标签: reactjs redux react-redux

下面是我的redux类。

class TestClass extends Component
    {
    constructor(props){
    super(props);
    }
    method(){
    return "Hello"
    }
    }

    function mapStateToProps(state) {
        return {

        };
    }

    function mapDispatchToProps(dispatch){
        return bindActionCreators({

        },dispatch)
    }

    export default connect(
        mapStateToProps,mapDispatchToProps
    )(TestClass);

当我尝试它时,抛出一个错误,指出商店丢失了,将其封闭在提供程序中或显式传递了商店

我想创建一个此类的对象并使用该对象调用函数方法!

谢谢

1 个答案:

答案 0 :(得分:0)

如果出现此错误:

  

在“ Connect( MyApp )”的上下文或道具中都找不到“商店”。
  可以将根组件包装在,
  或显式地将“商店”作为道具传递给“ Connect( MyApp )”。

这意味着您没有将商店提供给组件。

要做的基本清单:

  1. 首先,您需要这样做(这不是本文的目的)

    A。减速器功能“ myReducer”。
    B.初始存储“ myInitialState”的对象。

  2. 现在您可以创建自己的Redux商店

    示例:

    import { createStore } from 'redux';
    
    configureStore = () => {
        const store = createStore(myReducer, myInitialState);
        return store;
    };
    
    const store = configureStore();
    
  3. 最后是时候将商店提供给您的组件了:

    3.1。第一个解决方案,将根组件包装在:

    import { Provider } from 'react-redux';
    

    在您的JSX中:

     <Provider store={store}>
        <SomeOtherComponent>
            <MyComponent />
        </SomeOtherComponent>
     </Provider>
    

    3.2。短期或更简单的解决方案是,将“存储”作为道具明确传递给“ Connect(MyApp)”:

    在您的JSX中:

     <SomeOtherComponent>
        <MyComponent store={store} />
     </SomeOtherComponent>