Не все методы Braintree HostedFields доступны для машинописного текста?
Я использую Braintree Sandbox в своем проекте ReactJs с машинописным текстом.
Согласно Braintree Docs для фокуса, поле можно сфокусировать с помощью
.focus()
метод.
hostedFieldsInstance.focus('number', function (focusErr) {
if (focusErr) {
console.error(focusErr);
}
});
Проблема: в моем файле typeScript hostedFieldsInstance не показывает
.focus()
как допустимый метод. Я получаю следующую ошибку:
Property 'focus' does not exist on type 'HostedFields'.ts(2339)
VS Code также предлагает только несколько существующих методов braintree, но не
.focus()
:
1 ответ
Определения TS из DefininiteTyped не включают эту функцию, но это не значит, что вы не можете вызывать ее независимо. Ваши варианты включают:
- Обход проверки компилятора TS в этом случае (
(hostedFields as any).focus(...)
) - Написание собственных определений типов для BrainTree, импортирование существующих из Определенного Типа и их переопределение, чтобы добавить то, что вам нужно
- Ожидание перезаписи BrainTree TS (см. Этот комментарий)