当前位置: 首页 > article >正文

react 19 useOptimistic 竞争更新乐观值时阻塞

react 19 刚刚出,我在官网上调试这个 useOptimistic api 时,发现了一个竞争调用时的阻塞状态。当连续多次调用 updateFn 参数,且每次更新时间较长时,乐观状态的更新被阻塞了。

前往官网 useOptimistic 一节,修改末尾 demo 中 actions.js 代码如下:

let i = 0;
const time = [10_000,6_000,10_000];
export async function deliverMessage(message) {
  await new Promise((res) => setTimeout(res, time[i++] ?? 1000));
  return message;
}

此时前三次的更新时间变为 10s、6s、10s,当我连续依次输入 1、2、3 后,触发三次乐观更新,视图在某个时间点出现如下的结果:

在这里插入图片描述

实际上,第二次和第一次更新已经完成,第三次更新还在进行中。可是乐观更新的结果没办法进行 diff 区分,乐观值被更慢的更新严重阻塞。

新 api 还是慎用


http://www.kler.cn/a/538732.html

相关文章:

  • 计算机视觉的研究方向、发展历程、发展前景介绍
  • [LUA ERROR] bad light userdata pointer
  • 开放式TCP/IP通信
  • k8s部署elasticsearch
  • C++11新特性之unique_ptr智能指针
  • 【大模型】硅基流动对接DeepSeek使用详解
  • Qt的QTableWidget类的声明定义和使用
  • Android13-系统服务大管家-ServiceManager进程-启动篇
  • 具身智能学习规划
  • 【LeetCode: 525. 连续数组 + 前缀和 + 哈希表】
  • CodeGPT + IDEA + DeepSeek,在IDEA中引入DeepSeek实现AI智能开发
  • android动态设置是否允许应用卸载
  • ES管理器焕新升级:紫色银狼主题来袭!
  • 在 Navicat 17 中扩展 PostgreSQL 数据类型 | 复合类型
  • 教育机器人的智能驱动:揭秘舵机技术的无限可能
  • 使用Python和TensorFlow/Keras构建一个简单的CNN模型来识别手写数字
  • 系统URL整合系列视频五(后端技术实现)
  • Android Studio 配置 Gerrit Code Review
  • 深入Linux系列之环境变量
  • ZZNUOJ(C/C++)基础练习1081——1090(详解版)
  • k8s中pod常见状态解析
  • go结构体和json相互转换、序列化和反序列化
  • 2025年日祭
  • Linux strace命令介绍
  • 音频知识基础
  • 神经网络常见激活函数 5-PReLU函数