鍍金池/ 問答/HTML/ 一個react定時器問題向大家請教

一個react定時器問題向大家請教

如下代碼為什么run方法沒有執(zhí)行?

run() {
        // const initT = 3000,
        //     scrollNum = Math.ceil(this.props.listarr.length / 6);
            console.log('do');
            this.setState((prevState) => {
                moveNum: prevState.moveNum + 90
            });
    }


    componentDidMount() {
        const inter = (run) => {setInterval(run,1000)};  //這里如果不用個函數(shù)包裹起來會報找不到run
        inter();
    }

感謝大家的及時幫忙解答,看了你們的答案我才意識到箭頭函數(shù)不會綁定this,所以要加this,非常感謝~

回答
編輯回答
忠妾

//你如果傳參

const inter = (run) => {setInterval(run,1000)}; 
inter(this.run)  

//不傳參

const inter = () => {setInterval(this.run,1000)}; 
inter()
2018年4月15日 22:41
編輯回答
初心

你把{setInterval(run,1000)}改成{setInterval(this.run,1000)}

2017年11月1日 04:42
編輯回答
久不遇

你這是失去作用域了(this),所以有箭頭函數(shù)可以

2018年9月18日 18:53
編輯回答
蟲児飛

還是老問題,this指向問題

const inter = setInterval(()=>{this.run();},1000);
const inter = setInterval(this.run.bind(this),1000);
2018年8月31日 04:32
編輯回答
傻叼
const inter = (run) => {setInterval(run,1000)};
inter(this.run);
這樣試試?
2018年9月23日 00:14