当应用程序外部数据库上的数据发生更改时,如何刷新 React Redux 应用程序

2024-02-06

场景 - 数据库中某些表的数据更改,例如使用从另一个进程上传的文件,例如不属于react-redux应用程序的ETL工具。那么我们如何刷新react-redux应用程序组件呢? Web 套接字是唯一将这种更改从服务器推送到客户端的方法吗?或者我们是否定期刷新受影响的组件?但是所有这些端口都必须一直保持打开状态吗?后端是一个java/oracle应用程序。 谢谢


你应该进行 Ajax 调用(我喜欢使用axios https://github.com/axios/axios) 每次加载相关 React 组件时都会写入数据库,以确保数据是最新的。如果您使用以下命令创建组件React.createClass, use getInitialState()在所述组件内。

编辑:由于您不希望组件每次加载时都查询数据库,而是仅在指定的时间段之后查询,因此我建议对以下代码进行变体:

getInitialState() {
  //Define a variable and set as the current date object
  let date = new Date;

  //Convert the variable's value to a string
  date = date.toString();

  //Slice the day of the month from the date string
  let day = date.slice(6,8);

  //Query the database if it's the 15th or 28th (approximately every 2 
  //weeks, accounting for February
  if (day == ("15" || "28")) {
    //Ajax call here
    return {data: ajaxResponse};
  }
}

请注意,每次组件在所选日期加载时,此代码都会查询数据库。由于日期对象精确到毫秒,因此您可以将时间窗口设置得尽可能窄。请记住,如果在此期间从未加载组件,则不会查询数据库,直到if条件再次满足。

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

当应用程序外部数据库上的数据发生更改时,如何刷新 React Redux 应用程序 的相关文章

随机推荐

  • 指针、数组、printf

    我正在尝试使用一个数组来保存调查的输入 该调查的每一侧都具有相同的正值 但有一个指针指向数组的中心 因此可以使用负指针值来访问该数组 例如 数组将保存从 0 到 30 的值 指针将指向 15 系统将提示用户输入 15 到 15 之间的值 其
  • MacOSX 10.9.5 上的 Sed 错误“\1 未在 RE 中定义”

    我正在尝试使用 bash 为我的 MP3 文件名 非常重要 构建一个通用格式化程序 其中很大一部分是能够使用正则表达式变量移动文本 例如 我试图删除 ft Kevin Parker 周围的括号 oldfilename Mark Ronson
  • Sidekiq:是否可以“暂停”队列?

    是否可以 暂停 sidekiq 队列 我正在运行下载作业 但我必须让我的 Mac 运行 休眠 所以我想告诉 sidekiq 暂停一下 有没有一种简单的方法可以做到这一点 您无法中途停止作业 如果您想停止处理队列中的新作业 这是 Sideki
  • Android中的可分包和继承

    我得到了一个适用于不涉及继承的单个类的 Parcelable 实现 在继承方面 我无法找出实现接口的最佳方法 假设我得到了这个 public abstract class A private int a protected A int a
  • 如何使用java获取BIOS信息?

    请告诉我是否可以使用 java 程序获取 BIOS 设置信息 我使用 Windows 7 作为操作系统 这取决于您要阅读的信息 Java 无法读取 BIOS 但 java 可以查询 WMI google for jWMI 这可能会获取您需要
  • 在 Excel 中拆分和分组值

    Hi I have a column of values which has different suffix after a dot i need it to group it based on the value after dot E
  • 类型错误:无法重新定义属性:tap

    每当我尝试运行时我都会收到此错误npm run dev webpack cli TypeError Cannot redefine property tap at Function defineProperty
  • 数组声明中的 PHP 扩展语法

    PHP 支持扩展语法可变参数函数 http php net manual en functions arguments php functions variable arg list 在 JavaScript 中 您可以使用扩展语法来执行以
  • 丑数 - dp 的数学直觉

    我正在尝试找到 丑陋 的数字 这是一系列唯一质因数为 2 3 5 的数字 我找到了动态规划解决方案 并想了解它是如何工作的以及逻辑背后的数学直觉是什么 该算法是为 2 3 和 5 的倍数保留三个不同的计数器变量 让我们假设 i2 i3 和
  • 将峰度应用于 python 中的分布

    我有一个数据集 其格式为 频率 方向 归一化功率谱密度 扩展 偏度 峰度 我可以使用顶部答案中的代码可视化特定记录的分布scipy 中的偏斜正态分布 https stackoverflow com a 5885349 1135883但我不确
  • YAML:具有空值的字典

    如何在 YAML 中编写一个字典 映射 其中一个键将空字符串作为其值 key 被解析为 null YAML 1 1 map str key null null 正确答案是 key
  • 警告:尝试多次加载角度...因为 jQuery...为什么?

    我试图了解这里发生了什么事 该警告是不言自明的 我意识到在应用程序中 使用下面的代码和结构 它运行 ng view 两次 测试 将在控制台中记录两次 所以角度当然会加载两次 但为什么 我已经阅读了我能找到的所有关于它的文章 它似乎归结为 j
  • GetExternalLoginInfoAsync null 与ExternalLoginCallback 中的OWIN 除非已经登录到google

    我一直在尝试使用 Google 帐户在 MVC5 应用程序中使用 OWIN 实现外部登录 如果我已经登录谷歌 点击我的应用程序中的谷歌按钮就可以了 在允许我访问登录信息后 它会将我带到我的注册页面 如果我在单击我的应用程序 google 按
  • Keras cifar10 示例验证和测试损失低于训练损失

    我正在使用 Keras 的 cifar10 示例 你可以找到它here https github com fchollet keras blob master examples cifar10 cnn py 我已经重新创建了模型 即 不是相
  • Android Studio 错误“支持的最低 Gradle 版本是 7.0.2。当前版本是 6.8。”

    我下载 6 8 版本和最新版本的 Gradle 后出现错误 评估项目 launcher 时出现问题 我需要做什么 I m attaching more details in the added pictures 错误 支持的最低 Gradl
  • ESLint规则开发过程中如何调试

    我有 C 背景 因此在 Visual Studio 中按 F5 并获得了美妙的调试体验 这让我很开心 我想进入 OSS 并且当我使用 ESLint 时 我经常想尝试回馈 我已经关注了http eslint org docs develope
  • 新的 Pandoc distrib = 松散交叉引用(RMarkdown - knitr - Bookdown - thesisdown - R)

    使用 knit 和 bookdown yaml 将一堆 Rmd 文件导出到单个 doc 文件时 我丢失了一些交叉引用 方法是thesisdown thesis word 我安装新版本的 Pandoc 后立即出现了丢失引用的问题 也许我在 P
  • Oracle从plsql调用java时如何导入缺失的java类

    我正在尝试逐步编写一个 java 函数 该函数可以采用 Oracle XML BI Publisher Report 不是商业智能中使用的 BI Publisher 而是 Oracle 应用程序使用的 XML Publisher 功能 并以
  • Python 获取选定的文本

    我如何使用 Python 捕获 用户在 Web 浏览器中选择的文本 该脚本将在后台闲置 当按下某个组合键时 它会 获取 用户选择的文本 想想复制和粘贴 只是它复制到我的应用程序而不是剪贴板 谢谢 我想指出的是 这适用于 Mac Instal
  • 当应用程序外部数据库上的数据发生更改时,如何刷新 React Redux 应用程序

    场景 数据库中某些表的数据更改 例如使用从另一个进程上传的文件 例如不属于react redux应用程序的ETL工具 那么我们如何刷新react redux应用程序组件呢 Web 套接字是唯一将这种更改从服务器推送到客户端的方法吗 或者我们