Ошибка urql: невозможно прочитать свойство имени переменной undefined, и я определил его правильно - PullRequest
0 голосов
/ 20 апреля 2020

Вот моя проблема:

const GraphComponent = () => {
  const { GraphQuery } = useContext(GlobalContext);
  const query = `
  query($input: MeasurementQuery ){
      getMeasurements(input: $input){
      metric,
      value,
      unit,
      at
      }
  }
  `;
  const [{ fetching, data, error }] = useQuery({
    query,
    variables: {
      GraphQuery,
    },
  });
  useEffect(() => {
    const fun = () => {
      if (fetching) return <p>Loading...</p>;
      if (error) console.log(error.message);
      if (!data) return;
      console.log(data.getMeasurements);
    };
    fun();
  }, [fetching, error, data]);

  return <div></div>;
};

export default GraphComponent;

Переменная 'GraphQuery' - это объект, который выглядит следующим образом

obj = {
      metricName: deets,
      after: Date.now() - 36000000,
      before: Date.now(),
    };

Запрос graphql на площадке, который принимает переменную, выглядит следующим образом

{
  getMeasurements(input:{metricName:"tubingPressure", after:1587371198855,before:1587370098855}){
    metric,
    value,
    unit,
    at
  }
}

Но ошибка, которую я продолжаю получать:

[GraphQL] Cannot read property 'metricName' of undefined

1 Ответ

1 голос
/ 20 апреля 2020

внутри useQuery попробуйте изменить код на:

variables: {
      input: GraphQuery,
    },
``
...