【发布时间】:2021-11-11 19:50:50
【问题描述】:
const [Paid, setPaid] = useState(false);
const fetchTransaction=async()=>{
const data=await response.get();
if (data.docs[0].data().status === "COMPLETED") {
setPaid(true)
}
}
useEffect(() => {
fetchTransaction();
}, [])
useEffect(() => {
RouterCourse = () => {
return (
<CourseRoute path="/course" component={Course} pay={Paid}/>
)
}
}, [Paid]);
var RouterCourse = () => {
return (
<CourseRoute path="/course" component={Course} pay={Paid}/>
)
}
return(
<div>
<Router>
<Switch>
{RouterCourse()}
</Switch>
</Router>
</div>
)
所以在Routercourse函数内部,包含一个定制的PrivateRoute组件,是一个名为Paid的变量。这个变量是使用钩子定义的。通过异步函数 fetchTransaction(false 为 true)更改支付,但不使用新值(true)。如何更新返回的 {RouterCourse()} 中使用的值?
【问题讨论】:
标签: reactjs async-await use-effect use-state