【问题标题】:Property '__persistor' does not exist on type 'Store<any, AnyAction>'属性 \'__persistor\' 在类型 \'Store<any, AnyAction>\' 上不存在
【发布时间】:2023-02-02 15:04:44
【问题描述】:

我尝试将客户端 redux 持久存储放在一起,正如这里的文档所建议的那样:

https://github.com/kirill-konshin/next-redux-wrapper

// pages/_app.tsx
import React from 'react';
import App from 'next/app';
import {useStore} from 'react-redux';
import {wrapper} from './lib/redux';
import {PersistGate} from 'redux-persist/integration/react';

export default wrapper.withRedux(({Component, pageProps}) => {
  const store = useStore();
  return (
    <PersistGate persistor={store.__persistor} loading={<div>Loading</div>}>
      <Component {...pageProps} />
    </PersistGate>
  );
});

但是得到以下错误:

./pages/_app.tsx:40:39
Type error: Property '__persistor' does not exist on type 'Store<any, AnyAction>'.

  38 |           <meta name="robots" content="noindex" />
  39 |         </Head>
> 40 |         <PersistGate persistor={store.__persistor} loading={<div>Loading</div>}>
     |                                       ^
  41 |           <Component {...pageProps} />
  42 |         </PersistGate>
  43 |         <CookieDialog />

怎么了?这是兼容性问题吗?有这些版本。

"redux": "^4.1.1",
"redux-persist": "^6.0.0",
"redux-saga": "^1.1.3",

我也不明白接下来的部分,为什么我需要 page 中的那些参数?这个connect 方法是什么?我真的需要吗?

// pages/index.js
import React from 'react';
import {connect} from 'react-redux';

export default connect(state => state, {setClientState})(({fromServer, fromClient, setClientState}) => (
  <div>

__persistor就是这样在store.ts中赋值的。

    const persistedReducer = persistReducer(persistConfig, combinedReducer);

    const store: any = configureStore({
      reducer: persistedReducer,
      devTools: true,
    });

    store.__persistor = persistStore(store);

    return store;
  }
};

【问题讨论】:

  • 你找到答案了吗?
  • 在 app.tsx 中我忘记应用 wrapper.withRedux 方法,所以需要:export default wrapper.withRedux(MyApp);

标签: reactjs redux next.js


【解决方案1】:

我面临同样的问题。解决办法是什么

【讨论】:

    猜你喜欢
    • 2019-11-19
    • 2021-02-08
    • 2019-09-20
    • 2018-09-09
    • 2019-12-31
    • 2021-11-29
    • 2022-12-17
    • 2017-10-20
    • 2017-01-14
    相关资源
    最近更新 更多