TypeError: store.getState is not a function

Учу React, пока не подключала Redux, пользовалась локальным стейтом. В какой-то момент перестал работать getState, я ставила точки остановки, убедилась, что все значения там приходят. Но функция почему-то отказывается работать. Искала что-то похожее здесь, но у других были обычно проблемы с импортом/экспортом.

Вот такая ошибка

TypeError: store.getState is not a function
rerenderEntireTree
index.js:14
  11 | let rerenderEntireTree = (store) => {
  12 |     ReactDOM.render(
  13 |         <React.StrictMode>
> 14 |             <App state={store.getState()}
  15 |                  dispatch={store.dispatch.bind(store)}/>
  16 |         </React.StrictMode>,
  17 |         document.getElementById('root')

данные и гетстейт в том числе пришли

Файл, где выдается ошибка

import React from 'react';
import './index.css';
import * as serviceWorker from './serviceWorker';
import ReactDOM from 'react-dom';
import './index.css';
import App from './App';
import {store} from "./redux/state";

let rerenderEntireTree = (store) => {
    ReactDOM.render(
        <React.StrictMode>
            <App state={store.getState()}
                 dispatch={store.dispatch.bind(store)}/>
        </React.StrictMode>,
        document.getElementById('root')
    );
};

rerenderEntireTree(store.getState())
store.subscribe(rerenderEntireTree);

serviceWorker.unregister();

Файл, где лежит весь стор (вместо многоточий массивы данных)

import dialogsReducer from "./dialogs-reducer";
import profileReducer from "./profile-reducer";

export let store = {
    _state: {
            dialogsPage: {
                dialogs: [...],
                messages: [...],
                newMessageText: '...',
            },
            profilePage: {
                posts: [...],
                newPostText: '...',
            },
        },
    _callSubscriber()
    { console.log('state was changed') },
    getState()
    { return this._state },
    subscribe(observer)
    {
        this._callSubscriber = observer
    },
    dispatch(action) {
        this._state.dialogsPage = dialogsReducer(action, this._state.dialogsPage);
        this._state.profilePage = profileReducer(action, this._state.profilePage);
        this._callSubscriber()
    },
}

Заранее спасибо


Ответы (1 шт):

Автор решения: LuckyBest

У меня был подобный случай. Просто, когда объявляешь rerenderEntireTree поменяй параметр store на state.

let rerenderEntireTree(state)
→ Ссылка