【问题标题】:Can React class components and functional components access the same context?React 类组件和函数式组件可以访问相同的上下文吗?
【发布时间】:2021-05-22 21:11:22
【问题描述】:

我正在开发一个主要使用 React 类组件构建的 React 项目。最近,团队决定开始转向带有钩子的功能组件。

functionalclass 组件有没有办法访问相同的上下文?换句话说,如果我有一个设置为类/由类组件使用的上下文提供程序,那么我可以使用下游功能组件来访问和更新该上下文吗?

同样的问题反过来(设置提供者使用 useContext() 钩子并通过类组件访问它)

我在网上看到了很多关于“如何使用上下文 api”的内容,但还没有看到将它们结合起来而不是简单地解释使用上下文的两种方法。

【问题讨论】:

  • 你需要看这个:youtube.com/…
  • 您也可以将整个应用程序更改为基于功能的组件,以使整个过程更加顺畅。
  • @Bruno 是长期计划,但项目的规模不允许一次对产品进行全面检修/重构

标签: reactjs react-context


【解决方案1】:

您仍然可以在基于类的组件中使用上下文。

更好的是,只需将您尝试折射的特定组件转换为基于函数的组件。

不一定意味着要重写代码.. 只需将类更改为 const 和组件名称即可。 接下来移除render方法,只留下return。 像创建函数这样的所有其他事情都可以像常规函数一样在 return 之上和组件体内部完成。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-01-25
    • 1970-01-01
    • 1970-01-01
    • 2019-04-12
    • 1970-01-01
    • 2019-06-08
    • 2011-08-19
    • 2020-03-11
    相关资源
    最近更新 更多