错误TypeError:makeStore不是函数

时间:2020-06-30 14:09:09

标签: react-redux react-hooks next.js

描述错误

我通过redux创建存储,然后将其放入_app.js中,但是它有错误:

代码

const theme = responsiveFontSizes(createMuiTheme());

const initStore = createStore(
  Reducers,
  initialState,
  applyMiddleware(thunkMiddleware)
);

const _App = withRedux(initStore)(
  class _App extends App {
    static async getInitialProps({ Component, ctx }) {
      let pageProps = {};
      if (Component.getInitialProps) {
        pageProps = await Component.getInitialProps(ctx);
      }

      return { pageProps };
    }

    constructor(props) {
      super(props);
    }

    componentDidMount() {
      fonts();
      const jssStyles = document.querySelector("#jss-server-side");
      if (jssStyles && jssStyles.parentNode) {
        jssStyles.parentNode.removeChild(jssStyles);
      }
    }

    render() {
      const { Component, pageProps, store } = this.props;

      return (
        <React.Fragment>
          <Head>
            <title>Doctor Finder</title>
            <meta
              name="viewport"
              content="minimum-scale=1, initial-scale=1, width=device-width"
            />
          </Head>
          <ThemeProvider theme={theme}>
            {/* CssBaseline kickstart an elegant, consistent, and simple baseline to build upon. */}
            <CssBaseline />
            <Provider store={store}>
              <Component {...pageProps} />
            </Provider>
          </ThemeProvider>
        </React.Fragment>
      );
    }
  }
);

export default _App;

错误

/!\您正在使用旧版实现。请更新您的代码:使用createWrapper()和wrapper.withRedux()。

TypeError:makeStore不是函数 非常感谢!

1 个答案:

答案 0 :(得分:0)

不知道withRedux api是什么,但是基于错误,看来它正在期待一个函数,但是您正在向其传递对象(initStore)。

尝试将initStore更改为以下内容:

Nav