反应状态没有立即更新

2023-12-14

React 状态不会立即更新。我想在按下“播放”按钮后立即更新状态。

import * as React from "react";
import { Button } from "react-native";
export default function Play() {
  const [player, setPlayer] = React.useState(1);
  function nextPlayer() {
    setPlayer(2);
    updateValue();
  }
  function updateValue() {
    if (player == 1) {
      console.log("player 1");
    } else if (player == 2) {
      console.log("player 2");
    }
  }
  return <Button title="play" onPress={nextPlayer} />;
}

功能updateValue是在包含您的状态的“旧值”的闭包中创建的。如果您希望它以新值运行,请使用useEffect挂钩或传递当前值作为参数。

const [value, setValue] = useState();

useEffect(() => {
  // receives the latest value and is called on every change (also the first one!)
}, [value])
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

反应状态没有立即更新 的相关文章

  • 如何映射轮播的子项数组?

    我正在尝试将 Carousel 组件包装在映射对象数组周围作为组件的子级 目前我只能让映射创建映射对象的 1 个子对象 轮播需要像这样
  • 使用 Reactjs 获取滚动位置

    我使用reactjs并想要处理滚动click event 首先 我呈现了帖子列表componentDidMount 其次 通过click event在列表中的每个帖子上 它将显示帖子详细信息并滚动到顶部 因为我将帖子详细信息放在页面的顶部位
  • 在react-big-calendar中单击事件时添加弹出窗口?

    当单击事件时 我无法将弹出窗口添加到事件中 弹出窗口似乎只显示在事件槽中 而不是显示在事件槽的顶部 此外 由于我为事件创建了一个自定义组件并尝试在自定义组件中实现弹出窗口 因此只有当我单击事件名称时才会显示弹出窗口 这是代码 class C
  • 在 onChange 事件中调用 2 个函数

    我对我的组件有点困惑 我需要从 props 调用 onChange 所以
  • 使用代理时,React 应用程序正在不同位置查找静态文件

    我用过npx create react app my app创建一个反应应用程序 我用过的npm run build构建应用程序并使用它进行部署serve s build 我正在使用代理服务器来公开我的应用程序 我的 httpd 配置如下所
  • 使用 mongoose 通过 React 应用程序将图像上传到 mongodb 数据库

    我正在为找到的对象创建一个反应应用程序 我想允许用户上传这些对象的照片 我尝试使用 axios 通过 post 请求将图像发送到猫鼬服务器 但它不起作用 这就是我如何将图像存储在带有预览的 React 组件中 handleImage eve
  • React 在同一组件中渲染多个模态

    我对 React 和一般编码都很陌生 我试图在同一组件中渲染多个模态 但它们都是同时渲染的 因此看起来所有链接都在最后一个模态中渲染文本 这是状态设置的地方 class Header extends React Component cons
  • 使 Material UI Grid 项目的子项拉伸以适合父容器的剩余高度

    1 现状 我有一个包含 4 个网格项的 Material UI 网格容器 每个 Grid 项中都有一个 Typography 组件 其中包含标题和包含一些内容的 Card 如下所示 2 期望的外观 我希望卡片填充网格项目的剩余高度并且不超过
  • 应用程序位于前台时的 IOS Expo 推送通知

    从博览会文档中阅读 对于 iOS 明智的做法是处理以下推送通知 当应用程序处于前台时收到 因为否则用户 永远不会见到他们 应用程序运行时到达的通知 iOS 上的前台不会显示在系统通知列表中 A 常见的解决方案是手动显示通知 为了 例如 如果
  • React Native:加载图像后应用程序性能不佳

    加载图像似乎没有问题 但是加载完毕后就出现问题了 在我的应用程序中 我在整个游戏中一张一张地加载卡片图像 一旦我加载了 40 张卡片图像 整个应用程序就会变得很慢 它总是发生在第 40 个图像处 当我在第 40 个图像之后继续加载更多卡片图
  • React-native-super-grid 在回调期间刷新网格

    我在网格中显示项目 并且每个项目都进行了分类 如果我按类别图像 我只想过滤所选类别的网格项目 这是我的实现代码 每当我按下一个类别时 我都会得到thispressRow 方法内的对象 但是this setState items catego
  • React Native:View onPress 不起作用

    我面临一个奇怪的问题 在我的反应本机应用程序中 如果我设置onPress事件至View它没有被触发 但如果我将其设置为Text inside View 它着火了 我在这里缺少什么
  • 打字稿 - 字符串'不可分配给类型'FC

    我收到以下错误 Type props PropsWithChildren lt amount number gt gt string is not assignable to type FC lt amount number gt Type
  • 需要有关 React Js 的帮助

    我是 React Js 新手 我的代码无法正常工作 请看下面 这是我的脚本文件Main jsx 该文件由 React 编译 输出放置在 dist 文件夹下的 main js 文件中 var react require react react
  • React onSubmit e.preventDefault() 有时不起作用 + Axios

    现在我在 React 中面临这个奇怪的问题 其中带有 e preventDefault 的 onSubmit 函数有时会避免刷新页面 有时则不会 我创建了两个挂钩来跟踪上传的文件及其进度条 const uploadedFiles setUp
  • Redux 状态在 mapStateToProps 中未定义

    我目前正在关注this http teropa info blog 2015 09 10 full stack redux tutorial html教程 我遇到了一些障碍mapStateToProps在下面的代码中 import Reac
  • React-redux useDispatch() 未捕获类型错误

    我正在尝试创建一个简单的组件来使用 React Redux 钩子分派操作useDispatch 我收到一个错误 我已将组件修剪到发生错误的位置 当调用 useDispatch 函数时会发生这种情况 import useDispatch fr
  • 将 Sweet Alert 弹出窗口添加到 React 组件中的按钮

    我为 Bootstrap 和 React 找到了这个完美的 Sweet Alert 模块 我在 Meteor 应用程序中使用它 http djorg83 github io react bootstrap sweetalert http d
  • Flux + React.js - 操作中的回调是好还是坏?

    让我解释一下我最近遇到的问题 我有 React js Flux 驱动的应用程序 有一个列表显示文章数量 注意 应用程序中有多个不同的列表 和文章详情查看在里面 但每个列表只有一个 API 端点 它返回文章数组 为了显示我需要的详细信息fin
  • React Native - 在单元测试中模拟 FormData

    我在测试我的 thunk 时遇到问题 因为我的许多 API 调用都使用 FormData 而且我似乎不知道如何在测试中模拟它 我正在使用杰斯特 我的安装文件如下所示 import isomorphic fetch Mocking the g

随机推荐

  • DOCKER_HOST URL 的可能格式有哪些?

    docker cli 可以通过设置来访问远程 docker 服务器DOCKER HOST环境变量 Mostly tcp
  • Android - SharedPreference 转换为 Double

    基本上我有一个值作为字符串保存到共享首选项中 我正在检索保存的值 并尝试在计算中使用它 我如何转换它以便将其视为双精度而不是字符串 计算后检索到该值后 新值将保存回相同值下的共享首选项中 希望您能理解 一直困扰着这个问题 SharedPre
  • Excel VBA 和 IE 11 - 在下拉列表中选择值后无法刷新页面

    我正在尝试获取 WorldRemit 提供的一对货币的汇率 我想更改网页左上角 发送自 下拉列表中的值 https www worldremit com en 南非 我无法使用选择下拉选项 Selected True or Click所以已
  • 为什么在读取文本文件时会出现“UTF-8 字节序列无效”错误?

    我正在编写一个 Ruby 脚本来处理大型文本文件 但不断出现奇怪的编码错误 情况是这样的 input data File new in path r read p input data encoding name UTF 8 break c
  • Rails:捕获 Rails 控制器中的所有异常

    有没有办法捕获 Rails 控制器中所有未捕获的异常 如下所示 def delete schedule id params scheduleId begin Schedules delete schedule id rescue Activ
  • 在 C++ 中应该按什么顺序声明类? [关闭]

    Closed 这个问题是基于意见的 目前不接受答案 假设我得到了这个 C 代码 class class1 class2 x class class2 class1 x 编译器会在第 2 行给出错误 因为它找不到 class2 如果我切换类的
  • R:创建(长)虚拟列表时发出警告

    列的虚拟列c和给定值x equals 1 if c x还有 0 个 通常 通过为列创建虚拟对象c 1 排除一个值x根据选择 因为最后一个虚拟列不会添加任何信息 已经存在的虚拟列 以下是我尝试为专栏创建一长串虚拟对象的方法firm in a
  • Swift 3 NTLM 身份验证

    在最近的一个项目中 我尝试分别以 SOAP 和 oData 格式从服务器中提取一些数据 这些数据受到 Microsoft NTLM 身份验证的保护 并且弄清楚如何做到这一点是一场噩梦 没有一个在线示例真正起作用 这是我的解决方案 我必须适应
  • 当我开始搜索时,UISearchController 中的 UISearchBar 消失了。为什么?

    这就是我设置我的UIsearchController private func setupSearchController let searchResultsController storyboard instantiateViewCont
  • 通过谷歌脚本保存为CSV处理换行符

    因此 我尝试从 Google 电子表格中获取一张工作表并将其另存为 CSV 文件 就像您可以手动执行的操作一样 它工作得相当好 但我遇到了新行 换行 回车等问题 我已经使用和修改了谷歌的解决方案到目前为止 一些堆栈溢出资源已经满足了我的需求
  • 如何使用 UML 类图表示通过另一个类对一个类的调用

    在 Android 中 假设我们有 2 个类 它们具有启动服务的通用方法 因此我们将它们提取到辅助类中 下图显示了我尝试表示它的奇怪尝试 我已经使用了交易范围缩小 我认为这些是用于活动图的 但是在uml diagrams org class
  • 我可以在同一个 Xcode 项目中拥有 Swift、Objective-C、C 和 C++ 文件吗?

    是否可以在同一个项目中使用所有 4 种语言 如果可以 如何使用 有similar风味问题 我可以将 Swift 与 C 混合使用吗 就像 Objective C mm 文件一样接受的答案是no Using Bridging Header充分
  • Python:itertools.product() 的更快替代方案?

    我试图找到长度 22 且元素值 1 9 的列表的所有可能组合 当我使用 i for i in itertools product range 1 10 repeat 22 Python崩溃 Python 有更快的替代方案吗 正如大家评论的那
  • Windows Phone 模拟器无法连接到 Windows Phone 操作系统

    当我运行我的应用程序时出现此消息 Windows Phone 模拟器无法连接到 Windows Phone 操作系统 电话未响应连接请求 某些功能可能会被禁用 搜索后我找到了这个答案 打开 Hyper V 管理器 左栏 左键单击您的计算机名
  • 为什么使用 gems 来提供资产而不是供应商文件?

    我对 Rails 比较陌生 我有一个关于从 gem 提供资产与仅将文件加载到资产管道中的问题 据我所知 它们实际上做了相同的事情 因为它们都使文件在资产管道中可用 以便在清单中调用 提供类似服务有什么优势 gem jquery rails
  • 映射数组返回 [object Object]

    我有一个Keypad组件 每次按下按钮时 它都应该将该按钮的值添加到数组中 var keys this props keys map function k index return tr td td tr
  • 单击一次后禁用按钮

    我需要在单击按钮后将其禁用 以便用户不能多次单击它 我的应用程序是用 MVC ASP NET 编写的 我在普通的 ASP NET 应用程序中完成了此操作 我尝试使用 JavaScript 和 jQuery 但它不起作用 该按钮被禁用 但表单
  • 如何在 yocto 中编译基本的 c 文件

    我正在 yocto 上工作 我想在 yocto 中编译一些 C 文件并将生成的二进制文件安装到外部文件系统 在此之前 我尝试创建一个单独的记录并从中编译 C 代码 我无法编译它 我不确定是否理解这个问题 因为它不够精确 在配方树中包含 C
  • R gsub 从 x 列中的单词中删除 y 列中的单词

    我正在尝试使用 gsub 删除 y 列中 x 列中的单词 文本 x c a b c y c asometext some a b text c a text df cbind x y df data frame df df y gsub d
  • 反应状态没有立即更新

    React 状态不会立即更新 我想在按下 播放 按钮后立即更新状态 import as React from react import Button from react native export default function Pla