修改 Apollo React 函数以使用参数

Modify Apollo React function to use parameters

我目前在 React 中使用这个函数:

function GQLFunc() {
  const { loading, error, data } = useQuery(GQLTAGS);

  if (loading) return <p>Loading...</p>;
  if (error) return <p>Error :(</p>;

  if (data) return <WrappedApp data={data.tag} />;
}

我想通过这样尝试过的参数使该函数可重复使用:

function GQLFunc(callingApp) {
  const { loading, error, data } = useQuery(GQLTAGS);

  if (loading) return <p>Loading...</p>;
  if (error) return <p>Error :(</p>;

  if (data) return <callingApp data={data.tag} />;
}

然后在这里调用:

<GQLFunc callingApp={WrappedApp} />

我在这里做错了什么?我还想为 data = data.tag

添加一个参数

您需要使用大写的渲染组件名称,f.e.:

function GQLFunc(props) {
  const { loading, error, data } = useQuery(GQLTAGS);

  if (loading) return <p>Loading...</p>;
  if (error) return <p>Error :(</p>;

  let CallingApp = props.callingApp;
  if (data) return <CallingApp data={data.tag} />;
}