gpt4 book ai didi

Redux Persist TypeError : store. 调度不是函数

转载 作者:行者123 更新时间:2023-12-05 08:24:53 25 4
gpt4 key购买 nike

在学习教程时,我得到了这个 store.dispatch is not a function 错误。我已经在 stackoverflow 上搜索了一段时间,但似乎找不到任何错误。我错过了什么?

显示错误的图片[1]: /image/AekWH.png

import {configureStore, combineReducers} from '@reduxjs/toolkit'
import cartReducer from './cartRedux'
import userReducer from './userRedux'
import {
persistStore,
persistReducer,
FLUSH,
REHYDRATE,
PAUSE,
PERSIST,
PURGE,
REGISTER,
} from 'redux-persist'
import storage from 'redux-persist/lib/storage'

const persistConfig = {
key: 'root',
version: 1,
storage,
}

const rootReducer = combineReducers({user: userReducer, cart: cartReducer})
const persistedReducer = persistReducer(persistConfig, rootReducer)

export const store = () => configureStore({
reducer: persistedReducer,
middleware: (getDefaultMiddleware) =>
getDefaultMiddleware({
serializableCheck: {
ignoredActions: [FLUSH, REHYDRATE, PAUSE, PERSIST, PURGE, REGISTER],
},
}),
})


export const persistor = persistStore(store)

索引

import React from 'react';
import ReactDOM from 'react-dom';
import App from './App';
import {Provider} from 'react-redux'
import {store, persistor} from './redux/store'
import { PersistGate } from 'redux-persist/integration/react'

ReactDOM.render(
<Provider store={store}>
<PersistGate loading={null} persistor={persistor}>
<App />
</PersistGate>
</Provider>,
document.getElementById('root')
);

最佳答案

您似乎将您的 store 声明为返回已配置商店的函数。

export const store = () => configureStore({ // <-- a function
reducer: persistedReducer,
middleware: (getDefaultMiddleware) =>
getDefaultMiddleware({
serializableCheck: {
ignoredActions: [FLUSH, REHYDRATE, PAUSE, PERSIST, PURGE, REGISTER],
},
}),
})

然后您将引用传递给此store 函数persistStore

export const persistor = persistStore(store) // <-- store not invoked

虽然您可以只在每个地方调用store 函数,但这会很糟糕,因为您会在应用的不同部分有效地创建多个商店实例,而这些实例不会一起工作。您应该只导出并使用一个已配置的存储对象。

export const store = configureStore({
reducer: persistedReducer,
middleware: (getDefaultMiddleware) =>
getDefaultMiddleware({
serializableCheck: {
ignoredActions: [FLUSH, REHYDRATE, PAUSE, PERSIST, PURGE, REGISTER],
},
}),
});

export const persistor = persistStore(store);

关于Redux Persist TypeError : store. 调度不是函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70164034/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com