Leute Ich benutze React-Stripe-Checkout, um die Kreditkarteninformationen meines Benutzers abzurufen. Nachdem ich die Daten des Benutzers gesammelt und an mein Backend gesendet habe, versuche ich eine Funktion von this.props aufzurufen, um den Status Client-Seite zu aktualisieren, aber 'dies' hat keine verfügbaren Requisiten/Status. Überprüfen Sie das Bild, um den Bereich von "this" in der onToken-Funktion zu sehen. Gibt es eine Möglichkeit, innerhalb von onToken entweder auf Requisiten oder Klassenfunktionen (z. B. onTokenThen) zuzugreifen?Ich kann nicht auf Requisiten innerhalb der onToken-Funktion zugreifen
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 (response => this.props.addCustomerState (Antwort))' – azium
auch in der Render-Funktion 'Token = {() => this.onToken()}' – azium
Ich habe Ihren Vorschlag ein geh und während es requisiten/zustand daraus verfügbar macht, ist das token selbst verloren. Aber Ihre Idee veranlasste mich zu versuchen, die onToken Methode zu binden, die das Problem löste. – Kunal