Создайте Объект класса редукса - PullRequest
0 голосов
/ 26 июня 2018

Ниже мой класс редукса.

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 голосов
/ 26 июня 2018

Если вы получите эту ошибку:

Не удалось найти «store» ни в контексте, ни в контексте «Connect ( MyApp )».
Либо заверните корневой компонент в,
или явно передать «store» в качестве реквизита «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. Или более простое решение на короткий срок, явно передайте «store» как опору «Connect (MyApp)»:

    в вашем JSX:

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