javascript - 在reactjs中设置时间间隔的问题

标签 javascript reactjs

我尝试每 5 秒在设定的时间间隔内调用一个函数,但我抛出了错误 类型错误:this.initialState 不是一个函数

componentDidMount() { 
        this.intialState(); 
        setInterval(this.changeSelection,5000); 
    }
    changeSelection(){ 
        this.intialState(); 
    }

  TypeError: this.intialState is not a function

最佳答案

使用class Clock extends Component更新了5秒倒计时

    import React, { Component } from 'react';

    class Clock extends Component {

      constructor(props){
        super(props);
        this.state = {currentCount: 10}
      }

      timer() {
        this.setState({
          currentCount: this.state.currentCount - 1
        })
        if(this.state.currentCount < 1) { 
          clearInterval(this.intervalId);
        }
      }

      componentDidMount() {
        this.intervalId = setInterval(this.timer.bind(this), 1000);
      }

      componentWillUnmount(){
        clearInterval(this.intervalId);
      }

      render() {
        return(
          <div>{this.state.currentCount}</div>
        );
      }
    }

   export default Clock;

关于javascript - 在reactjs中设置时间间隔的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55861182/

相关文章:

javascript - 如何在正则表达式测试中找到 ".*"满意的单词

javascript - 视频.js : How to fade out control bar if video is paused

javascript - 控制 JavaScript 中输入框的总和

javascript - Wordpress Gutenberg 媒体上传视频库

javascript - 如何在 React JS 中使用 Scroll 魔法

html - 如何根据CSS中高度的变化设置元素比例?

java - 从 javascript 调用 java 方法

javascript - 如何使用 Lodash 从数组中删除对象?

ReactJS-Youtube 数据 API 请求错误 400

javascript - 如果特定 prop 发生变化,则重新渲染整个组件