_app.tsx 888 B

1234567891011121314151617181920212223242526272829303132333435
  1. import App from "next/app";
  2. import { ApolloProvider } from "@apollo/client";
  3. import Page from "../src/app/components/Page";
  4. import client from "../src/lib/apollo";
  5. import { StoreProvider } from "../src/lib/store";
  6. class MyApp extends App {
  7. static async getInitialProps({ Component, ctx }: any) {
  8. let pageProps: any = {};
  9. if (Component.getInitialProps) {
  10. pageProps = await Component.getInitialProps(ctx);
  11. }
  12. // Add the query object to the pageProps
  13. // https://github.com/wesbos/Advanced-React/blob/master/finished-application/frontend/pages/_app.js
  14. pageProps.query = ctx.query;
  15. return { pageProps };
  16. }
  17. render() {
  18. const { Component, pageProps } = this.props;
  19. return (
  20. <ApolloProvider client={client}>
  21. <Page>
  22. <Component {...pageProps} />
  23. </Page>
  24. </ApolloProvider>
  25. );
  26. }
  27. }
  28. export default MyApp;