描述错误
我通过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不是函数 非常感谢!
答案 0 :(得分:0)
不知道withRedux api是什么,但是基于错误,看来它正在期待一个函数,但是您正在向其传递对象(initStore)。
尝试将initStore更改为以下内容:
Nav