首页 > 解决方案 > 将道具/参数传递给 HOC

问题描述

我正在尝试将道具(或参数)传递给这个 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 prop 传递。如何在 ApolloClient 对象中访问它?或者,如果这不可能,我将如何在此处设置一个参数,然后在 HOC 中访问它?

export default withApollo(HomePage);

感谢您提供的任何帮助!

标签: node.jsreactjsnext.jsapollo-client

解决方案


推荐阅读