在 React 应用程序中加载初始服务器数据的逻辑应该放在哪里?

2023-11-27

我正在使用 React-Redux 来构建一个应用程序。

要加载 React 智能组件的初始数据,我需要调度一个Redux服务器数据请求将发生的操作。

我尝试在构造函数(ES6 实现)中分派操作,componentWillMount, and componenetDidMount。他们都工作了。


我的问题是:

React 智能组件中是否有推荐的位置来分派操作?


Edit: 丹·阿布拉莫夫最近表示

在 React 的未来版本中,我们预计 componentWillMount 在某些情况下会多次触发,因此您应该使用 componentDidMount 来处理网络请求。


In componentDidMount

Read here.

在componentDidMount中获取数据。当响应到达时,将数据存储在状态中,触发渲染来更新您的 UI。

异步获取数据时,使用 componentWillUnmount 取消任何未完成的请求在卸载组件之前。

关于“为什么在componentDidMount“。 我相信componentWillMount如果您使用服务器端渲染,则不会被调用,因此这可能是原因componentDidMount是优选的。

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

在 React 应用程序中加载初始服务器数据的逻辑应该放在哪里? 的相关文章

  • 旋转嵌套 SVG

    我在用SVG js http svgjs com并尝试使用 SVG 进行一些操作 我以前使用过 canvas 但我对其生成的图像质量非常失望 因此我决定使用纯 SVG 我设法将所有内容都改为纯 SVG 方法 除了一件事 旋转 我无法让它发挥
  • jQuery:如何将 jQuery 日期选择器放入 Bootstrap Popover 中? [关闭]

    Closed 这个问题是无法重现或由拼写错误引起 help closed questions 目前不接受答案 我试图在引导弹出窗口中显示 jquery datepicker 并尝试了解决方案引导程序弹出窗口内的日期选择器 关闭 https
  • DOM 元素宽度可以是非整数吗?

    我有一个页面 其 div 元素由 JavaScript 对齐 JavaScript 只是检查一组 div 元素来查找最大值偏移宽度 然后设置所有 div 元素 width成为最大偏移宽度 它在大多数浏览器和区域设置中都能完美运行 但在 Ma
  • JavaScript 计算从今天到 7 天前的日期

    我正在计算从今天开始的日期前 12 天 但它不会返回正确的日期 例如 对于今天的日期 11 11 2013 mm dd yyyy 它返回 10 30 2013 而它应该返回 10 31 2013 这是代码 var d new Date d
  • 如何在 React 组件中使用 CDN

    我正在尝试使用基于 D3 构建的库 称为 Greuler 来动态渲染图形 它的 npm 包似乎已损坏 当我改用 Greuler CDN 时 index html 中的测试图终于起作用了 但是 我正在开发一个 React 应用程序 并且我希望
  • 在 javascript 中循环 html 复选框

    实际上我有一个关于如何在java脚本中循环复选框的问题 假设我在jsp循环中创建了html复选框 我希望在javascript中对这些复选框进行验证 我应该怎么做 通常对于单个对象 我们可以执行 window document form c
  • jQuery 显示隐藏左侧滑动面板

    我希望在单击按钮时面板从浏览器的左边缘滑动 并在单击同一按钮 切换 时隐藏面板 Html div class panel div a href class slider arrow show raquo a CSS panel width
  • 如何让 jQuery 选择带有 . (句号)在他们的身份证件中?

    给定以下类和控制器操作方法 public School public Int32 ID get set publig String Name get set public Address Address get set public cla
  • jest.mock() 在测试内部不起作用,仅在测试外部起作用

    我有一套简单的测试 在某些情况下我想模拟一个模块 而在某些情况下则不想 然而 jest mock 仅当将其置于测试之外时才有效 任何人都知道为什么会这样以及我做错了什么 这是我想要模拟的函数的实际导入 import hasSupport g
  • SWC with JavaScript:如何处理 CSS 导入以及如何绝对导入?

    TL DR 如何告诉 SWC 编译 React 组件中导入的 CSS 文件 如何告诉 SWC 在测试和 React 组件中编译绝对导入 这是一个最小的可重现示例 https github com janhesters riteway swc
  • 将焦点和光标设置到文本输入字段/字符串 w 的末尾。 Jquery [重复]

    这个问题在这里已经有答案了 我有以下函数 将选择器添加到搜索输入作为高级选项 就像堆栈溢出高级搜索一样 当您单击要搜索的内容时 它会添加一个前缀 请参阅下面的 Jquery
  • 用 JavaScript 改变文本颜色?

    我想在单击按钮时更改标题的颜色 这是我的代码 但它不起作用 我不明白为什么不 var about function init about document getElementById about innerHTML about style
  • 点击事件的事件处理程序自动触发 - jQuery [重复]

    这个问题在这里已经有答案了 可能的重复 为什么单击事件处理程序会在页面加载后立即触发 https stackoverflow com questions 7102413 why does click event handler fire i
  • useState 以 `new` 关键字作为参数

    我正在构建一个单独的服务来处理复杂的事情 该服务是一个类 只是为了测试建议 我在一个内部模拟useState 重点是我忘记了一个console log在构造函数内部 并意识到类构造函数在组件重新渲染时被调用多次 这种行为不会导致意外的行为或
  • 在 jQuery 中获取最接近元素的形式

    我编写了这个 js jquery 脚本来检查表单中的所有复选框 它工作得很好 但是这会检查页面上的所有复选框 无论它们是什么表单包装器 这是函数 function toggleCheck state var checkboxes jQuer
  • ajaxStart 和 ajaxStop 与 fetch API 等效

    我正在尝试将 API 调用从使用 jQuery ajax 迁移到使用 Fetch API 我使用 jQuery ajaxStart 和 ajaxStop 在服务器调用期间显示加载旋转器 我正在运行多个并行服务器请求 我希望旋转器在第一个请求
  • 当来自 Mozilla Firefox 和 MS Edge 上的剪贴板时 Alpha 会变成黑色

    我正在使用代码从这里 https stackoverflow com a 15369753 5875416将剪贴板中的图像粘贴到页面上 它在所有浏览器 Chrome Firefox Edge 和 Opera 中都能正常工作 问题是 当图像是
  • 如何对对象数组调用reduce来求和它们的属性?

    说我想求和a x对于中的每个元素arr arr x 1 x 2 x 4 arr reduce function a b return a x b x gt NaN 我有理由相信a x is undefined在某一点 以下工作正常 arr
  • 只允许在输入字段中输入数字

    我想要打开电话号码字段这个网站 http myfrugaltech com dev savoo register 只接受数字或数字 我无权编辑 HTML 代码 那么可以使用 jQuery 通过定位字段 ID 来完成此操作吗 如果可以的话 该
  • 解析函数是否异步传递给 Promise 执行器?

    我有以下代码 function myPromiseFunc return new Promise resolve gt resolve Promise resolve 123 据我们所知Promise resolve方法立即用普通值解析 P

随机推荐

  • 解析 .NET 中的纯 Win32 PE 文件(Exe/DLL)

    我需要解析普通的 Win32 DLL Exe 并从中获取所有导入和导出以在控制台或 GUI 即 Win Forms 上显示 是否可以通过读取导出 导入表来解析 C NET 中的 Win32 DLL Exe 并从中获取托管类型 由于它是非托管
  • ElasticSearch 术语聚合

    我尝试使用弹性搜索通过以下查询对下面的数据执行术语聚合 输出将名称分解为标记 请参见下面的输出 所以我尝试将 os name 映射为 multi field 现在我无法通过它进行查询 是否可以有没有 token 的索引 比如 Fedora
  • 使用 Android 蓝牙发送文件?

    有什么方法可以使用 Android 的内部蓝牙将文件发送到其他设备吗 请举个例子 这是一个小功能 你可以使用 Method to share data via bluetooth public void bluetoothFunctiona
  • SSIS——允许任务失败但包成功?

    有没有办法允许脚本任务失败 但包执行结果仅基于other任务的执行结果 例如 我有 5 个任务 我不在乎任务 2 的结果是什么 但如果其他任何任务失败 我希望包失败 不然我希望它成功 这可能吗 还有设置FailPackageOnFailur
  • x,y数据逆时针排序

    I have a set of points in a text file random shape dat The initial order of points in the file is random I would like to
  • 维基百科 API:如何搜索特定类别中的术语

    我很难弄清楚一项基本任务 如何找到术语 限制在特定类别 我觉得 Wiki API 文档有点令人困惑 我只想接收一个 JSON 文件作为输出 其中包含与该术语相关的所有建议 前任 我搜索矩阵 类别 电影 这样我就可以拥有 黑客帝国 1 黑客帝
  • 如何在垂直recyclerview android中实现Vertical Recyclerview?

    假设我有2 items in a RecyclerView其中每个项目都有一个innerrecyclerview其中有周围100 件其中两者都是垂直的或任何对现有问题没有任何影响的东西 我已经在其他 stackoverflow 问题或其他
  • 创建无丢帧的无尽 cgpath

    我需要不断创建一个cgpath 目前我是这样做的 func createLine var rand randomBetweenNumbers 1 2 currentY if rand lt 1 5 currentX CGPathAddLin
  • Qt 应用程序:无法加载平台插件“windows”。可用平台有:

    我用 msvc2010 编译了 Qt 5 0 0 因为我需要带有配置字符串的 opengl configure prefix CD qtbase opensource nomake nomake examples nomake demo o
  • Keras:使用带有 flow_from_dataframe / flow_from_directory 的 ImageDataGenerator 时如何禁用图像大小调整?

    我正在尝试使用 ImageDataGenerator 并将自定义函数传递给preprocessing function范围 但是 根据 Keras 文档 此函数仅在图像大小调整后才会运行 预处理函数 每个输入隐含的函数 该函数将在图像大小调
  • Node.js 中的“未捕获的语法错误:意外的标记 <”

    当我尝试提供客户端代码时 出现以下屏幕截图错误 当我尝试跑步时node server server js 下面是我的服务器 js code app use express static path join dirname public ap
  • 如何在 python 中进行模拟并仍然允许执行模拟函数的实际代码

    我最近开始使用 python 中的模拟框架 似乎如果我修补一个函数 则不会调用实际代码 这意味着该实际函数所做的数据库更改等未实现 我一直试图通过预先调用该函数并存储返回值并将其作为 arg 在 patch 中传递来绕过它 但是 有更好的方
  • Android:如何获取当前设备 WiFi-direct 名称

    在 P2P 设置中 我了解如何获取另一个设备的名称 但如何获取我自己的设备的名称 设置下的 WiFi direct 中显示的那个 我检查过WiFiManager WiFiInfo 还有更多没有成功 打开设备上的 wifi 后 它会发送 WI
  • 有条件地选择 MYSQL 列

    我的问题的示例架构位于SQLFiddle如下 CREATE TABLE players player1id int 11 NOT NULL player2id int 11 NOT NULL PRIMARY KEY player1id pl
  • Swift 核心数据谓词 IN 子句

    我正在尝试将 IN 子句与 NSPredicate 一起使用 我收到以下错误 由于未捕获的异常 NSInvalidArgumentException 而终止应用程序 原因 NSTaggedPointerString countByEnume
  • NSMakeRange(i, 1) 是什么意思?

    我刚刚开始学习iOS 什么是 NSMakeRange i 1 意思是 for int i 0 i lt name length i NSRange range NSMakeRange i 1 NSString subString name
  • 在 php 中创建 web 服务是否需要 wsdl 文件?

    我的问题需要对网络服务有一些基本的了解 更具体地说 与 php 结合使用 我想知道 是否需要有一个 wsdl 文件来创建 Web 服务 或者这对想要访问 Web 服务的第三方有用 另外 它在 net环境中自动生成 但对于php来说有点困难
  • 5 张图像,用对角线对称分隔

    我浏览互联网并在 Reddit 上偶然发现了这个主题 看到这个可爱的横幅后 我想尝试使用我选择的五个对称图像来模拟类似的东西 这些图像由对角线分隔 就像上图一样 也许还可以尝试在各种图像上添加一些文字 像这样的东西 我尝试使用猫图片在 cs
  • 找不到查询模式的实现

    在我的 silverlight 应用程序中 我尝试使用 LINQ 创建数据库连接 首先 我添加一个新的 LINQ to SQL 类 并将名为 tblPerson 的表拖入其中 然后在我的服务文件中我尝试执行以下查询 OperationCon
  • 在 React 应用程序中加载初始服务器数据的逻辑应该放在哪里?

    我正在使用 React Redux 来构建一个应用程序 要加载 React 智能组件的初始数据 我需要调度一个Redux服务器数据请求将发生的操作 我尝试在构造函数 ES6 实现 中分派操作 componentWillMount and c