修改Apollo React函数,使用参数。

问题描述 投票:0回答:1

我目前在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

javascript reactjs apollo
1个回答
1
投票

你需要使用大写的渲染组件名称,例如:。

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} />;
}
© www.soinside.com 2019 - 2024. All rights reserved.