如何从ExpressJS向Redux添加初始状态(NEXTJS)

时间:2020-01-17 23:07:24

标签: node.js express redux next.js

我有来自节点的初始状态,试图用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"}}

0 个答案:

没有答案