【发布时间】:2020-12-03 07:22:51
【问题描述】:
我已经探索了整个网络的解决方案,但没有任何对我有用的东西。 我的 Api 被调用了两次,导致数据库中的数据重复。我希望它们只触发一次。
找到下面的代码:
<Route
path="/apis/wallet_verification"
render={(routerProps) => {
//deals with some params
console.log("I am triggering");
axios.get(`http://website/apis/save_ride_payments?payment_type=WALLET`).then((saveRides) =>{
console.log("I am inside get");
axios.post(`http://website/apis/verify_token?token=${usertoken}`).then((response) => {
if(response.data.status !== "error") {
console.log("I am inside post");
routerProps.history.push({
pathname: '/paymentsuccess',
state: {initRide}
});
}
})
})
console.log("I am out");
return (
<div>
Wallet Transaction
</div>
)
}}
/>
控制台输出:
I am triggering
I am out
I am inside get
I am triggering
I am out
I am inside post
I am inside get
I am inside post
Network 选项卡显示此 Api 序列:
save_ride_payments
verify_token
save_ride_payments
verify_token
我的 index.js
ReactDOM.render(
<Provider store={store}>
<App />
</Provider>,
document.getElementById('root'));
当然,可能存在一些逻辑错误。如果有人指出这一点会很高兴。
【问题讨论】:
-
-
@DrewReese 你能编辑或写一些代码来展示它们应该如何被调用吗?真的很有帮助
标签: reactjs react-redux react-router