Ошибка типа машинописного текста useLazyQuery: не удается найти имя ‘AccountId’

#javascript #reactjs #typescript #apollo

Вопрос:

Получение следующего Type Error: "cannot find name 'accountId'" при использовании useLazyQuery с Typescript. Есть идеи, что я делаю не так?

 const CustomerSearch: FC = (): ReactElement => {
  type customerData = {
    id: string;
    email: string;
    accountId: string;
  }

  type customerVars = {
    accountId: string;
  }

  const [getCustomer, {data, error}] = useLazyQuery<customerData, customerVars>(GET_CUSTOMER), {variables: {accountId: accountId}}})
}

return (
  <button onClick={() => getCustomer({variables: {accountId: "1234"}})}
)

 

Комментарии:

1. Потому что вы не определили accountId

2. Зачем вам нужно это определять? Разве он не передается в качестве параметра GetCustomer()?

3. Потому что ты им пользуешься. {variables: {accountId: accountId}}

4. Похоже, что решение здесь состоит в том, чтобы установить его пустым, а затем перезаписать его в вызове функции, верно? Так что это было бы { variables: { accountId: ""} }

5. Это зависит от вашего кода и логики