将道具/参数传递给 HOC

时间:2021-02-22 12:45:47

标签: node.js reactjs next.js apollo-client

我正在尝试将道具(或参数)传递给此 HOC。我希望能够在这里动态设置 uri:

import withApollo from 'next-with-apollo';
import ApolloClient, { InMemoryCache } from 'apollo-boost';
import { ApolloProvider } from '@apollo/react-hooks';

export default withApollo(
  ({ initialState }) => {
    return new ApolloClient({
      uri: 'https://example.com/graphql',
      cache: new InMemoryCache().restore(initialState || {})
    });
  },
  {
    render: ({ Page, props }) => {
      return (
        <ApolloProvider client={props.apollo}>
          <Page {...props} />
        </ApolloProvider>
      );
    }
  }
);

我通常不真正使用 HOC,所以不确定最好的方法。如果我将变量作为 Page 道具传递给。如何在 ApolloClient 对象中访问它?或者,如果这不可能,我将如何在此处设置参数然后在 HOC 中访问它?

export default withApollo(HomePage);

感谢您提供的任何帮助!

0 个答案:

没有答案