В настоящее время я создаю мини-веб-приложение, которое использует внешний API для метода оплаты. В настоящее время после оплаты пользователь будет перенаправлен со страницы на внешний API, а затем, как только платеж будет создан, он будет перенаправлен обратно на мою веб-страницу. Однако при перенаправлении полученные данные не являются самыми последними данными (например: перед тем, как перейти к платежу, пользователь может редактировать свой профиль. Полученные данные будут данными до того, как пользователь отредактирует свой профиль, а не обновленным). Ниже приведен код моего компонента EditProfile:
class EditProfile extends React.Component {
constructor(props) {
super(props);
this.state = {
image: null,
editpass: false,
password: "",
newPassword: "",
newPassword2: "",
tempImg: null,
isLoading: false,
...queryString.parse(this.props.location.search),
...this.props.user,
};
}
async componentDidMount() {
if (this.props.token && !this.props.isAuthenticated) {
await this.props.loadUser();
}
if (this.props.user.accounttype === "buyer" || !this.props.token)
window.location.assign("/");
if (
this.state.code &&
this.props.user._id &&
!this.props.user.stripeseller
) {
await this.props.getStripeSeller(this.state.state, this.state.code);
}
}
componentDidUpdate(prevProps) {
if (this.props.user !== prevProps.user) {
this.setState({
...this.props.user,
});
}
}
render() {
if (this.props.user && this.props.user._id) {
return (
<form
onSubmit={this.handleSubmit}
className={"w-full max-w-lg mx-auto my-6"}
>...other code here
}else {<Loading/>}
}
Токен взят из localStorage. Еще одна странная вещь: когда пользователь выходит из системы и снова входит в систему, полученные данные будут обновленной версией. Если кто-нибудь знает, как обеспечить получение обновленных данных при обратном перенаправлении, я буду очень благодарен за это!