Люди, которые я использую для проверки информации о моей кредитной карте. После сбора данных пользователя и отправки их на мой backend я пытаюсь вызвать функцию из this.props для обновления состояния клиентской стороны, но «это» не имеет доступных реквизитов/состояний. Оформить изображение, чтобы увидеть область действия «this» в функции onToken. Есть ли способ доступа к реквизитам или функциям класса (например, onTokenThen) в onToken?Невозможно получить доступ к реквизитам в функции onToken
import React, { Component } from 'react';
import StripeCheckout from 'react-stripe-checkout';
import { Button } from 'react-bootstrap';
import Axios from 'axios';
export default class AddCustomer extends Component {
constructor (props, context){
super(props, context);
this.onTokenThen = this.onTokenThen.bind(this);
};
onToken(token) {
console.log('token', token);
debugger; // <-- 'this'
Axios({
method: 'post',
url: '/api/v1/addCustomer',
data: {
stripeToken: token
}
})
.then(this.props.addCustomerState) // <-- can't access props here
.catch(function (response) {
console.log(response);
});
}
onTokenThen(customer){
debugger;
}
render() {
let currentUser = this.props.activeUser.email;
return (
<StripeCheckout
...
token={this.onToken}
...
<Button bsStyle="success">
Add customer
</Button>
</StripeCheckout>
);
}
};
'.then (ответ => this.props.addCustomerState (ответ))' – azium
также в вашей визуализации функции 'маркер = {() => this.onToken()}' – azium
Я дал ваше предложение и пока он делает доступным реквизит/состояние из этого, сам токен теряется. Но ваша идея побудила меня попробовать привязать метод onToken к решению проблемы. – Kunal