亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

React:如何每10秒執行一個方法?

React:如何每10秒執行一個方法?

小怪獸愛吃肉 2023-10-14 11:15:34
例如,我想每 10 秒運行一次我的方法“getNumber”,我該怎么做?class App extends Component {    constructor(){        super();        this.state={          web3: '',        }        this.getNumber = this.getNumbert.bind(this);              }getNumber(){       let number = 0;       number = number + 1;      }
查看完整描述

2 回答

?
達令說

TA貢獻1821條經驗 獲得超6個贊

一些忠告:

  • 使用原生 JS 函數setInterval()每 x 毫秒運行給定函數

  • 如果您想在每次更改時觸發重新渲染,則需要將數字存儲在狀態中。

工作示例:

import React, { Component } from "react";


class App extends Component {

  constructor() {

    super();

    this.state = {

      web3: "",

      number: 0

    };

    this.getNumber = this.getNumber.bind(this);

  }


  componentDidMount() {

    setInterval(this.getNumber, 10000);

  }


  getNumber() {

    this.setState({ number: this.state.number + 1 });

  }


  render() {

    return (

      <>

        <div>Number: {this.state.number}</div>

        <span>??This will update every 10 seconds</span>

      </>

    );

  }

}


export default App;

現場演示


查看完整回答
反對 回復 2023-10-14
?
德瑪西亞99

TA貢獻1770條經驗 獲得超3個贊

在里面componentDidMount你可以啟動一個setInterval- 它需要 2 個參數,一個要調用的方法,以及它在再次運行之前等待的時間(以毫秒為單位)。

https://reactjs.org/docs/react-component.html#componentdidmount

https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/setInterval

componentDidMount() {

  setInterval(() => {

    let number = 0;

    number = number + 1;

  }, 10000)

}

盡管目前number每 10 秒會設置回 0。您需要使用保存為狀態的數字。


查看完整回答
反對 回復 2023-10-14
  • 2 回答
  • 0 關注
  • 174 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號