React 类组件与功能组件[重复]

2023-12-05

Before React16, class components被使用过functional components每当需要使用时state or lifecycle methods在你的组件中。 在最新版本中引入了 ReactHooks and Effects使用我们可以使用的state and lifecycle methods反了functional components.

那么有什么理由仍然class components存在吗?有没有什么情况我们还需要选择class components over functional


Here您可以看到需要类组件的情况

最常见的情况是,您需要类组件,如果您想创建一个ErrorBoundary,你将需要一个类组件,因为你无法实现componentDidCatch带钩子...还没有!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

React 类组件与功能组件[重复] 的相关文章

  • onMouseEnter 和 onMouseLeave 未按预期运行

    我正在尝试为我的组件模拟悬停效果 然而 onMouseEnter Leave 事件没有按预期工作 现在我试图让它简单地 console log 一个字符串来检查它是否正常工作 但什么也没有发生 目的是我可以在悬停时更改其背景颜色 我尝试通过
  • 在 React.js 中有条件地设置 html 属性

    我在为 React 中的单选按钮组件设置默认选项时遇到了令人惊讶的困难 这是我的RadioToggle成分 jsx React DOM var RadioToggle React createClass render function va
  • 有没有办法显示嵌套在 Grid 组件内的 Material-UI 抽屉?

    我正在使用 Material UI 创建一个 Web 应用程序 主页分为 3 个网格 每个网格有一个height of 500px 我想在中间网格内显示一个带有一些操作选项的抽屉 那可能吗 到目前为止 我只能在整个屏幕上显示它 这是我的主要
  • 监听 redux 动作

    我想创建一个可重用的 redux 表模块 它将存储和更新页码 显示的总页数等 我可以在所有页面之间共享这些模块 但是 我需要更新操作来触发刷新数据操作 该操作将根据页面到达不同的端点 因此 可能类似于页面特定的监听 RefreshData
  • 如何在React Material UI简单输入中启用文件上传?

    我正在创建一个简单的表单来使用带有 redux 表单和材料 ui 的 electro react boilerplate 来上传文件 问题是我不知道如何创建输入文件字段 因为材料用户界面不支持上传文件输入 关于如何实现这一目标有什么想法吗
  • 向 ReduxReducer 添加回调

    是否有任何错误 反模式 就 React Redux 中的思考 中添加了一个回调action data转化为行动 reducer ACTION FOR REDUCER var x 123 if action data callback act
  • 在电子生成器反应电子应用程序后,在 Windows 中出现空白屏幕

    在电子生成器反应电子应用程序后 Windows 中出现空白屏幕 这是package json 在电子生成器反应电子应用程序后 Windows 中出现空白屏幕 name SmallBusinessManagement version 0 1
  • 运行故事书时出错 - sh: 1: start-storybook: 未找到

    我运行时遇到错误故事书 即使是干净的安装 npm run storybook gt storybook media programmersedge New Volume devs demostorybook gt start storybo
  • 过滤嵌套的 JSON 对象

    我有一个搜索栏 您可以在其中输入员工姓名 它应该根据过滤器返回姓名 我有一个嵌套的 JSON 对象 如下所示 我需要深入了解该对象以访问数组中的员工姓名 您可以看到我尝试实现的多个选项 它们已被注释掉 我的问题是代码没有过滤名称并返回所有名
  • 如何在ReactJS中定义常量

    我有一个将文本映射到字母的函数 sizeToLetterMap function return small square s large square q thumbnail t small 240 m small 320 n medium
  • 如何将 hls.js 与 React 结合使用

    我需要一些帮助来尝试弄清楚如何在 React 中使用 hls js 让我解释一下我必须从 api 获取 m3u8 的情况我能够使用基本的 html 使其工作
  • 如何在react-select v2中创建optgroup?

    我想在我的反应选择列表中包含 optgroups 但它似乎没有记录在任何地方 我有以下结构 是从评论中提取的https github com JedWatson react select issues 59 https github com
  • 你如何在react-native中实现捏合缩放?

    我一直在研究 PanResponder 我当前的工作假设是 我将检测是否有两个触摸正在向外移动 如果是 则增加元素大小onPanResponderMove功能 这似乎是一种混乱的方法 有没有更顺畅的方法呢 如果您只需要简单的捏缩放功能 只需
  • 如何从react-bootstrap复选框获取值/属性?

    我正在尝试使用反应引导复选框 https react bootstrap github io components html forms controls https react bootstrap github io components
  • Ant设计文件上传中使用customRequest

    我正在使用 Axios 来处理文件上传 我遇到显示文件上传进度的问题 我使用的文件上传视图是 图片卡 HTML
  • 如何使用 React 获取查询字符串?

    我试图从网址获取 query 123 http localhost 3000 query 123 http localhost 3000 query 123 Tried App js const search this props loca
  • 在这个反应示例中,bind 做了什么?

    什么是bind在这个声明中做this tick bind 这个 在下面的代码中 export class Counter extends React Component constructor props super props this
  • 将渐变应用于 Material UI 的主题背景

    我试图将 MuiTheme 的默认背景颜色设置为渐变 我有以下代码 export const theme createMuiTheme palette type dark background default linear gradient
  • 在不同环境中运行的react.js redux生产构建中将环境变量渲染到浏览器

    React redux realworld io 应用程序的自述文件位于https github com gothinkster react redux realworld example app https github com goth
  • 从输入类型编号获取无效值

    我正在使用输入类型数字 当它无效时 我如何从中获取值 例如 使用类型编号并仅打印 e 这本身是无效的 我正在使用 React 但我认为这个问题非常普遍 onChange event console log event target valu

随机推荐

  • “instanceof List”和“o instanceof List”之间的区别

    我认为以下内容没有任何区别 Object o new LinkedList
  • 如果 HTML 文本太大,则添加省略号 [关闭]

    Closed 这个问题不符合堆栈溢出指南 目前不接受答案 如果字符串太大 有没有办法在字符串中添加省略号 三个点 例如 From This is a very large sentence To This is a ve 可以使用 PHP
  • 如何使用 Java JDBC 从数据库获取所有触发器名称?

    我想从 Oracle 数据库模式中检索所有触发器名称 我使用 getFunctions 检索所有函数 但找不到另一个触发器 DatabaseMetaData dbmd ResultSet result dbmd getFunctions n
  • 错误:Visual Studio 中未加载 opencv_world310.dll 的符号

    我正在 Visual Studio 2015 中使用 OpenCV 3 1 0 编写程序 大多数操作工作正常 但是 我收到访问冲突错误 我已经调试了该项目 执行faceClassifier load haarcascade frontalf
  • 如何检查数组中每个项目的第一个字母?

    我正在构建一个猪拉丁语翻译器 但我不知道如何识别输入单词的第一个字母 我已将输入转换为数组 其中每个项目都是一个新单词 但是如何选择每个项目的每个第一个字母来确定它是否是辅音 元音 等 a This is a sentence for wo
  • 为什么结构体字段显示为空?

    我正在努力从以下代码中获得正确的输出 package main import encoding json fmt func main var jsonBlob3 byte name Platypus spec Monotremata id
  • android 所有动态生成按钮的点击事件

    我编写代码来生成动态按钮 但我不知道如何动态实现每个按钮的单击事件 我找到了一些答案 但无法使用我的代码 请帮助我 这是我的代码 public class dynamicbuttion extends Activity Override p
  • 如何按需挂起 Java 线程?

    我正在用java开发一个多线程游戏 我有几个工作线程从中央线程管理器获取模块 然后自行执行 现在 如果它暂时没有什么可执行的 我希望能够暂停这样的线程 我尝试从线程管理器调用 wait 方法 但这只会导致它忽略后面的 notificatio
  • 带边框和透明间隙的 CSS 三角形切口

    我需要使用 CSS 绘制以下图案作为页面各部分之间的分隔符 使用skewX 技术来自这个答案 我能够准确地模仿三角形切口 两个伪元素附加到下部部分的顶部 一个向左倾斜 一个向右倾斜 以便上部部分的背景显示出来 但我不知道如何添加边框 如第一
  • SQL 一对多

    我正在尝试为我们拥有的系统构建一个 SQL 模式channels 每个都有一个id 以及一个或多个fixtures 我很难找到实现这种一对多映射的方法 即一channel太多fixtures 我正在使用H2数据库引擎 我不能有桌子 id f
  • Excel 数据验证列表,其中排除已使用的值

    我有 A 列 其中有一些数据 B 列有一个数据验证列表下拉列表 其中包含 A 列中的值 当我从 B 列中的列表中选择值 例如 B1 A B2 B B3 C 时 我希望下拉列表排除该列中已使用的值 因此 在屏幕截图中 B4 中的下拉列表应该只
  • 为什么 iPhone 视频是颠倒的?

    我有一个使用标准相机应用程序捕获的视频文件 并使用它从我的 Iphone 5 复制btsync orig mov ISO Media Apple QuickTime movie 那个播放倒挂在 mplayer 或 vlc 中 当我使用 AW
  • 从 M 文件控制 simulink

    我正在尝试从 M 文件控制 simulink 我想要在 M 文件中做的是给 simulink 模型一些输入 运行 simulink 模型 在 0 6 秒时更改一个输入值 然后使用新输入继续运行 simulink 模型 我已经知道通过使用se
  • Xamarin 表单:如何在设备外部存储中创建文件夹和文件?

    我正在尝试在设备的外部存储上的该文件夹中创建一个文件夹和一个文本文件 与 WhatsApp 的做法相同 另外 我需要向该文件写入一些数据 是否可以以 xamarin 形式执行此操作 或者我们应该使用依赖服务吗 提前致谢 UPDATE Luc
  • 使用 HTMLAgilityPack 进行 XHTML 解析

    我在使用 HTMLAgilityPack 找到的元素内有以下元素的列表
  • 用户代理,从字符串中提取操作系统和浏览器

    我想从用户代理字符串中提取完整的操作系统名称和浏览器 我怎样才能做到这一点 我认为获取完整的操作系统名称和完整的浏览器名称很棘手 因为许多浏览器以不同的方式标识自己 您可能需要一些奇特的正则表达式 但它甚至可能无法 100 地工作 这是我用
  • FilterRegistrationBean url 模式不起作用

    我正在注册一个过滤器 如下所示用于日志输出 我想要网址模式 api Bean public CommonsRequestLoggingFilter commonsRequestLoggingFilter CommonsRequestLogg
  • HTML select - 在 HTML 中显示值属性但保留选项文本

    我有一个清单option各州在select元素
  • 获取 Blazor 组件中的当前用户

    我正在使用 Blazor 和 Windows 身份验证启动一个新站点 并且需要识别当前查看页面 组件的用户 对于 Razor 页面 可以使用以下命令访问当前用户名Context User Identity Name 但这似乎在 Blazor
  • React 类组件与功能组件[重复]

    这个问题在这里已经有答案了 Before React16 class components被使用过functional components每当需要使用时state or lifecycle methods在你的组件中 在最新版本中引入了