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)
