当前位置: 首页 > 知识库问答 >
问题:

setTimeout函数在函数结束后不显示HTML

司空元凯
2023-03-14

我已经创建了3秒的超时功能,在此之后,它应该呈现超文本标记语言。我按照官方的留档来做这件事,代码就像在留档上一样。有人有类似的问题吗?

js prettyprint-override">render() {
return (
<div>
    {this.state.activePage === 'Home' ? setTimeout(function () {
        <p>Hello World</p>
    }, 3000) : null}
</div>
)
}

共有2个答案

乌翰学
2023-03-14

无法从传递给setTimeout的函数返回值。

这里有两个选择,你可以尝试

  1. 创建一个状态字段来存储要显示的消息,并从setTimeout内部更新状态。同样,这样的更新不能在返回的内部完成。您可能希望将此逻辑移动到组件安装功能

你能提供你在这段代码中引用的文档吗?这样我们就可以更深入地了解这个问题了?

邹博明
2023-03-14

你不应该在react中编写这样的代码。setTimeout返回:

返回的timeoutID是一个正整数值,用于标识调用setTimeout()创建的计时器。T

而不是您从回调返回的JSX。但是即使它异步返回您从回调返回的JSX,您也不会在屏幕上看到新的内容。要在反应中更改UI,您必须使用setState更改状态变量,这将导致重新渲染。渲染也不是调用setState的地方。例如,您可以在use效中调用setState

 类似资料:
  • 问题内容: 我在此线程上给出了答案,并讨论了matplotlib上的衰落点。我对ImportanceOfBeingErnest的答案感到好奇。因此,我尝试使用他的代码。 首先,这是我的代码。 然后,我注意到了一件奇怪的事。至少对于我来说。注意和(在代码末尾)。位置1放置在函数之后,另一个放置 在 代码 后 ,因为函数在位置1之后结束,因此转到位置2。 由于需要运行动画,所以我想知道为什么在位置1而

  • 我想在一个HTML页面上做一个值,每5秒更新一次,这样就不会让服务器不堪重负。结果表明,我的函数中的setTimeout()没有适当延迟,而是立即被调用。有人能帮我找个线索吗?我真的不想给我的服务器太多的工作,因为我必须实现更多的Ajax。 代码如下:

  • 所以几天前,我安装了vscode来处理Unity游戏引擎脚本,然而,即使我安装了C#扩展,它也不会显示每个函数的参数,例如,如果我编写一个函数,vscode没有显示我应该把什么样的参数放在括号里。我怎样才能让它这样做? 比如说,在我编写的代码中,它不会显示的参数: 此外,每当我从Unity项目加载脚本时,vscode都会显示此错误: 错误图像

  • 本文向大家介绍深入理解setTimeout函数和setInterval函数,包括了深入理解setTimeout函数和setInterval函数的使用技巧和注意事项,需要的朋友参考一下  前几天学了js,看到了两个非常有趣的函数,他们分别是setTimeout函数和setInterval函数,这两个函数能使网页呈现非常一些网页中比较常见的效果,比如说图片轮播,等一些非常好玩的效果。下面就来一起来了解

  • 问题内容: 有两个函数hello1()和hello2()。 在中,延迟3秒后打印“ hello1”。 但是在中,它会立即打印“ hello2”。 我认为是因为它必须在setTimeout中使用函数名称。 如果我想在延迟3秒后执行带有参数的函数怎么办? 因为我想将参数传递给函数,所以我不能只在setTimeout中使用函数名,例如 问题答案: 当对函数使用括号时,将立即执行。 要将函数与参数一起使用

  • 本文向大家介绍setTimeout函数的神奇使用,包括了setTimeout函数的神奇使用的使用技巧和注意事项,需要的朋友参考一下 【写在前面的胡言乱语】   自从大三开始实习之后,就没有写博客了,虽然学了很多东西,但是如果没有进行总结和分享,学的东西就很容易忘记,而且不进行分享,就不会手动去敲代码,这样对知识的理解就不够透彻。 现在毕业半年多了,最近学习了《JavaScript高级程序设计》这本