超时后消除反应错误消息

2024-02-22

我试图显示一些反应错误消息并在 5 秒超时后隐藏它们。下面是代码:

import * as React from 'react'
import {ErrorInfo} from '../Twilio/api'
export const Error = ({type, message, visible}: ErrorInfo) => (
    // visible=true,
    setTimeout(function () {
        visible = false
    }, 5000),
        visible ?
            <div>
                <p>
                    <strong>{type}:</strong> {message}
                    <br/>
                    <small>
                        UI version: <code>{GLOBAL_VERSION}</code>
                    </small>
                </p>
            </div> : <span/>
)

ErrorInfo如下:

export type ErrorInfo = {
    type: string
    message: string
    visible: boolean
}

然而,visible被设置为未定义,因此不会显示错误消息。如果我在导出时将其设置为 trueError,然后它会被显示Header元素没有被删除时visible变成假的。


你想要控制visible状态在你的Error成分。

然后,您可以使用useEffect5 秒后隐藏错误(进行适当的清理)

export const Error = ({ type, message }: ErrorInfo) => {
   const [visible, setVisible] = useState(false)
   useEffect(() => {
     // message is empty (meaning no errors). Adjust as needed
     if(!message){
      setIsVisible(false)
      return
     }
     // error exists. Display the message and hide after 5 secs
     setIsVisible(true)
     const timer = setTimeout(() => {
       setIsVisible(false)
     }, 5000);
     return () => clearTimeout(timer);
   }, [message]) // executes every time `message` changes. Adjust as needed
   if(!visible) return null
   return (
      <div>
        <p>
            <strong>{type}:</strong> {message}
            <br />
            <small>
                UI version: <code>{GLOBAL_VERSION}</code>
            </small>
        </p>
    </div>
   )
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

超时后消除反应错误消息 的相关文章

随机推荐

  • 设置应用程序图标 (Xcode 7)

    我环顾四周 我发现的其他主题都没有解决我在应用程序图标中遇到的错误 当我尝试运行我的应用程序时 出现错误 名为 AppIcon 的应用程序图标集没有任何适用的内容 我很确定这是因为我没有将 png 文件放在正确的位置 但我不知道将其放在哪里
  • 在 Rails 4 中发送带有远程 true 的表单

    我有一个用于更新图像的表格 该行动有 respond to do format format js format html end 但我收到以下错误 ActionView MissingTemplate Missing template u
  • 使用 For 循环在 Oracle 过程中检索多行

    我正在处理存储过程 我需要检索一组结果并单独处理每个元素 然后返回整个结果 使用 3 个不同的表 我对数据库不太熟悉 但这就是我能想到的 create or replace procedure GET EMP RSLT IS CURSOR
  • 当您收到通用 SoapException:服务器无法处理请求时,如何缩小实际问题的范围。来自MS-CRM 4.0

    我最近开始针对 CRM 4 0 进行编程 并使用 CrmService 发出这些请求 当我发送请求时 我经常在使用的动态实体的某些属性中得到错误的值 当然请求失败了 我拦截异常并记录它 问题是这就是我得到的 System Web Servi
  • Lua 匹配字符串中字符后的所有内容

    我是 Lua 新手 不太了解模式匹配 我试图弄清楚如何匹配冒号后字符串中的所有内容 并将字符串的该部分放入变量中 我在网上浏览的运气不太好 或者也许我只是没有看到它 那么我该怎么做呢 例如 假设我有一个名为my string等于 hello
  • Discord.py 获取自定义状态

    如何通过discord py获取Discord用户自定义状态 我看过discord py 文档 我唯一能找到的是Member status https discordpy readthedocs io en latest api html
  • 为什么除法结果会根据强制转换类型而有所不同? (跟进)

    这是这个问题的后续 为什么除法结果会根据强制转换类型而有所不同 https stackoverflow com questions 25703304 why does a division result differ based on th
  • C++11 向量构造函数复制与范围?

    我无法理解向量复制构造函数和范围构造函数之间的优点或区别 当我像这样构造三个向量时 vector
  • 如何禁用 React Native 中的警告?

    我知道警告很重要 但出于特定原因 我不希望它们出现在屏幕上 如何禁用出现的黄色警告screen console disableYellowBox已被弃用 取而代之的是LogBox ignoreAllLogs 在index js中只需设置 i
  • 如何在 Pandas 中创建 SparseDataFrame?

    pandas DataFrame a Out 41 1 2 3 0 1 2 NaN 1 1 NaN 3 a 1 1 0 2 2 0 1 1 0 3 3 0 pandas DataFrame a Out 43 1 2 3 0 1 2 NaN
  • Qt 中的 GIF 动画

    我用过QGraphicsView QGraphicsScene类以便在小部件中显示图片 如下所示 m Scene gt addPixmap QPixmap fileName m View gt setScene m Scene 我如何展示
  • CSS calc 在 IE11 中无法使用线性渐变

    margin 0 padding 0 body background color orangered content margin top 200px height 100vh background color fdfdff tilt po
  • 多个HTTP请求触发HTTP Client超时

    我有一个异步发送 500 个 HTTP 请求的应用程序 所有请求均已处理after由于 HTTP 客户端超时 15 秒失败 even当请求的端点已返回 200 OK 时 代码非常简单 这里我们获取一大块请求 500 并异步执行它们 应该注意
  • 64位nasm除法idiv [重复]

    这个问题在这里已经有答案了 print out division message mov rcx 0 zero out register mov rax input mov rcx input2 idiv rcx divide rax by
  • 在 python 中具有任意数量的带有命名默认值的参数

    我想用 python 编写一个函数 除了一个命名参数 带有默认值 之外 它还可以接受任意数量的未命名参数 例如 我想写这样的东西 def myFunc args optDefault 1 但这只是给出了语法错误 有没有等效的方法来做到这一点
  • 如何在 Bash 中操作十六进制值?

    我有一个具有十六进制值的变量 在本例中 一个值为 0xfe 的字节 echo MYVAR hexdump 0000000 0afe 0000002 我想在我的 bash 脚本中使用这个值 特别是我需要 用作字符串 echo X MYVAR
  • spring中rabbitmq监听器的异常处理

    使用spring 我是rabbitmq的新手 我想知道我错在哪里 我编写了一个rabbitmq连接工厂和一个包含侦听器的侦听器容器 我还为侦听器容器提供了错误处理程序 但它似乎不起作用 我的春豆
  • Python google app engine 的最佳部署策略

    我想知道是否有在 Google 应用程序引擎 特别是 Django 上部署 python 应用程序的最佳实践 模式 最佳实践应该是现有最佳实践的组合 即 Fabric Paver Buildout 等 另请分享开发的最佳实践模式 我无法让
  • 我可以在yield-return-method 中使用“using”吗?

    我刚刚看到了一个 YouTube 视频 其中导师使用了一个 Yield 返回方法来打开一个文件并从中读取行 这些行将 Yield 返回给调用者 实际代码位于 FileStream 周围的 using 块中 然后我想知道 在yield ret
  • 超时后消除反应错误消息

    我试图显示一些反应错误消息并在 5 秒超时后隐藏它们 下面是代码 import as React from react import ErrorInfo from Twilio api export const Error type mes