У меня есть интеграция Stripe в веб-интерфейсе React.Мой платежный компонент пытается запустить…
componentDidLoad() {
if ( window.hasOwnProperty('Stripe') ) {
this.setState({stripe: window.stripe(config.stripeKey)})
}
}
Этот случайный сбой, так как иногда приложение React загружается и загружает компонент до появления window.stripe.В настоящее время я решаю эту проблему с помощью ...
componentDidLoad() {
this.watchStripe = setInterval( () => {
if (!props.stripe && isBrowser && window.Stripe) {
this.setState({stripe: window.stripe(config.stripeKey)})
clearInterval(this.watchStripe)
}
}, 100)
}
Есть ли более элегантное решение, которое не требует интервального таймера?