Inte alla braintree HostedFields-metoder är tillgängliga för TypeScript?
Jag använder Braintree Sandbox i mitt ReactJs-projekt med TypeScript.
Enligt Braintree-dokumentationen för fokus kan ett fält få fokus med metoden .focus().
hostedFieldsInstance.focus('number', function (focusErr) {
if (focusErr) {
console.error(focusErr);
}
});
Problem: I min TypeScript-fil visas inte .focus()-metoden som en giltig metod för hostedFieldsInstance. Jag får följande fel:
Property 'focus' does not exist on type 'HostedFields'.ts(2339)VS Code föreslår också bara några få befintliga braintree-metoder men inte .focus():
Svar #1
TS-definitionerna från DefinitelyTyped inkluderar inte den funktionen, men det betyder inte att du inte kan kalla på den ändå. Dina alternativ inkluderar:
- Att kringgå TS-kompilatorns kontroll i det fallet (
(hostedFields as any).focus(...)) - Skriva dina egna typdefinitioner för BrainTree, importera de befintliga från DefinitelyTyped och åsidosätta dem för att lägga till det du behöver
- Väntar på BrainTree TS-omskrivningen (se den här kommentaren)
