Reactjs 对于这种情况,上下文似乎是管理用户身份验证状态的最佳方式吗?

Reactjs 对于这种情况,上下文似乎是管理用户身份验证状态的最佳方式吗?,reactjs,Reactjs,我更喜欢在React应用程序中使用基于类的体系结构(这意味着我不能使用挂钩)。我更喜欢简单的状态管理来快速升级,所以在需要之前我不喜欢跳转到Redux 因此,维护用户身份验证状态的两个主要选项似乎是使用上下文或通过道具传递用户对象。通常我倾向于使用虚拟组件,但对于这个特定场景,使用上下文管理用户身份验证状态似乎是最符合逻辑的 对于这个场景,上下文似乎是管理用户身份验证状态的最佳方式吗?这里没有一个必然正确的答案,但在我看来,是的,这是一个很好的上下文用例 请记住,类组件仍然可以在没有useCon

我更喜欢在React应用程序中使用基于类的体系结构(这意味着我不能使用挂钩)。我更喜欢简单的状态管理来快速升级,所以在需要之前我不喜欢跳转到Redux

因此,维护用户身份验证状态的两个主要选项似乎是使用上下文或通过道具传递用户对象。通常我倾向于使用虚拟组件,但对于这个特定场景,使用上下文管理用户身份验证状态似乎是最符合逻辑的

对于这个场景,上下文似乎是管理用户身份验证状态的最佳方式吗?

这里没有一个必然正确的答案,但在我看来,是的,这是一个很好的上下文用例


请记住,类组件仍然可以在没有
useContext
hook的情况下访问上下文(我不确定您是否暗示了这一点)。您可以通过设置
YourComponent.ContextType
属性直接执行此操作,或者编写一个基于HOC的函数组件,它使用
useContext
,然后将其作为道具直接传递到类组件中。

这取决于您是否需要整个应用程序和深层组件中的身份验证数据。看到这条迈克尔·杰克逊关于上下文的精彩推文,他说上下文很少被使用。我在网上看到的react上下文示例似乎使用了一种使用someContext.Consumer和someContext.Provider引用的方法,例如:。您如何区分这种方法和您提到的方法?我想我只是忘记了
是一种东西。这是另一个完全有效的解决方案。我不会真的把它和我的建议区别开来,这只是做基本上完全相同事情的第三种方法。在这一点上,它只是归结为个人偏好。