为什么setTimeout返回数字而不是文本? ReactJS

时间:2018-09-06 03:37:05

标签: javascript reactjs settimeout

我正在使用Reactjs,我需要使用setTimeout显示一条消息,但它总是向我返回一个数字。有人知道原因吗?

这是我的代码:

  messageError = () => {
       return <h1>Error!</h1>
  }

render() {
  return (
   ...
     { this.props.error.code != undefined ?
                            setTimeout(() => { this.messageError() }, 3000) : null }

谢谢!

3 个答案:

答案 0 :(得分:2)

我想您做错了路。据我了解,您还需要其他东西。我举一个例子,可能会有所帮助。

featureV

答案 1 :(得分:1)

因为那是应该做的。

setTimeout在指定的时间内不暂停执行。它计划您的函数在以后发生,然后返回一个值(通常是一个数字),该值可用于调用该计划。

该函数显然无法从将来返回值

答案 2 :(得分:1)

这是异步的,您不能期望它的返回值。该数字是setTimeout的ID,用于清除setTimeout。