#reactjs #stripe-payments #tsx
#reactjs #stripe-платежи #tsx
Вопрос:
У меня есть проект, который находится на react, но файлы не .js, вместо этого они .tsx, и я пытаюсь использовать библиотеку stripe, но продолжаю получать ошибку.
Я пробовал несколько разных библиотек, которые помогают настроить stripe, но я продолжаю зацикливаться на этой ошибке.
Пожалуйста, помогите или направьте меня в правильную библиотеку, которая поможет мне настроить stripe.
мои коды
import ReactDOM from "react-dom";
import StripeCheckout from 'react-stripe-checkout';
import axios from "axios";
function handleToken(token, addresses) {
console.log(token, addresses);
}
export default function Webinar() {
return (
<div className="container">
<StripeCheckout stripeKey = "mykey"
token={handleToken}
name="Tesla Roadster"
billingAddress
shippingAddress
/>
</div>
);
}
Ответ №1:
Проблема в том, что в вашем репозитории Typescript теперь включен strict
режим, который заставляет вас указывать ввод. Если вы хотите отключить его, вы можете просто переключить его на false
в tsconfig.json
:
{
"compilerOptions": {
"strict": false,
// ...
}
}
Измените свою функцию handleToken
на переменную с тем же типом вашего компонента prop, что и следующий:
const handleToken: StripeCheckout['props']['token'] = (token) => {
// You can receive hint from token type here
}
Комментарии:
1. Чувак, ты спасаешь жизнь 🙂
2. Ха-ха 🙂 Рад слышать, что это помогло
3. Теперь я застрял на следующем, я получаю это
4. Перегрузка не соответствует этому вызову. Перегрузка 1 из 2, ‘(реквизит: только для чтения<StripeCheckoutProps>): StripeCheckout’, выдала следующую ошибку. Тип ‘(токен: любой, адреса: любые) => логическое значение’ не может быть присвоен типу ‘(токен: Token) => void’. Перегрузка 2 из 2, ‘(реквизит: StripeCheckoutProps, контекст?: любой): StripeCheckout’, выдала следующую ошибку. Тип ‘(токен: любой, адреса: любые) => логическое значение’ не может быть присвоен типу ‘(токен: Token) => void’.
5. Похоже, что
token
prop — это функция, которая принимает только 1 вызываемый аргументToken
. Я дам вам еще один совет, чтобы вам не нужно было указывать аргумент token напрямую.