#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. Это зависит от вашего кода и логики