我有来自节点的初始状态,试图用withRedux添加它,但是我的reducer会覆盖初始状态。
这是我的_app.js
:
import React from "react";
import { Provider } from "react-redux";
import withRedux from "next-redux-wrapper";
import {createStore} from "redux";
const reducer = (state = {foo: "ddd"}, action) => {
switch (action.type) {
case "FOO":
return {...state, foo: action.payload};
default:
return state;
}
};
const makeStore = (initialState) => {
return createStore(reducer, initialState);
};
function MyApp({Component, pageProps, store}) {
return (
<Provider store={store}>
<Component {...pageProps} />
</Provider>
);
}
MyApp.getInitialProps = async ({Component, ctx}) => {
const pageProps = Component.getInitialProps ? await Component.getInitialProps(ctx) : {};
const {req:{store}} = ctx;
return {pageProps, store};
};
export default withRedux(makeStore)(MyApp);
我在页面中打印道具时看到{"props": {"foo": "ddd"}}