更新上下文状态后获取新的上下文状态

发布于 2025-01-17 10:01:27 字数 790 浏览 0 评论 0原文

我在上下文提供程序中有一个子组件。在子组件调用上下文提供程序的更新状态后,上下文提供程序的状态会发生更改。但是,无法从子状态获得这个新的更改值。我如何能够从子组件中检索更改状态的更新值?

或者...这只是一种不好的做法,还有其他方法可以做到这一点吗?

我在上下文提供程序

AuthContextProvider=()=>{
    const[data,updatedata]=React.useState(null)
    AuthUpdate function(){
       updateData() //updates the state
    }
    //... pass AuthUpdate, data to children
}

和子组件中有一个上下文状态...这样的

<AuthContextProvider>
   <NavBar>
   </NavBar>
</AuthContextProvider>

导航栏看起来像这样:

NavBar=()=>{
   const {data,AuthUpdate}=useAuth()
   onClick function(){
        AuthUpdate()  //data in the context changes
        console.log(data) //somehow use the UPDATED data after context state changes
   }

}


I have a child component inside a context provider. After a child component calls an update state to the context provider, the context provider's state changes. However, this new changed value is not attainable from the child state. How would I be able to retrieve the updated value of the changed state from the Child component?

Or... is this just a bad practice and is there another way to do this?

I have a Context State in a Context Provider

AuthContextProvider=()=>{
    const[data,updatedata]=React.useState(null)
    AuthUpdate function(){
       updateData() //updates the state
    }
    //... pass AuthUpdate, data to children
}

and a child component... as such

<AuthContextProvider>
   <NavBar>
   </NavBar>
</AuthContextProvider>

Navbar looks like this:

NavBar=()=>{
   const {data,AuthUpdate}=useAuth()
   onClick function(){
        AuthUpdate()  //data in the context changes
        console.log(data) //somehow use the UPDATED data after context state changes
   }

}


如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文