2016-03-22 30 views
0

你能告訴我爲什麼會出現這個錯誤嗎?我正在嘗試在React Native中進行日期倒計時,但無法在狀態中更新倒計時。提前致謝。React Native(中間值)(中間值).bind不是一個函數

下面的代碼:

componentDidMount(){ 


    var end = new Date(theDate); 
    console.log("end " + end); 
    var _second = 1000; 
var _minute = _second * 60; 
    var _hour = _minute * 60; 
    var _day = _hour * 24; 
    var timer; 

    function showRemaining() { 
    var now = new Date(); 
    console.log("End is: " + end); 
    console.log("Now is: " + now); 
    var distance = end - now; 

    console.log("Distance is: " + distance) 

    if (distance < 0) { 

       clearInterval(timer); 
      console.log('EXPIRED!'); 
     } 

    var days = Math.floor(distance/_day); 

    var hours = Math.floor((distance % _day)/_hour); 
    var minutes = Math.floor((distance % _hour)/_minute); 
    var seconds = Math.floor((distance % _minute)/_second); 

    this.setState({ 
     days: days, 
     hours: hours, 
     minutes: minutes, 
     seconds: seconds 
    }.bind(this)); 

    console.log("Remaining: " + days + ' days ' + hours + 'hrs '+ minutes + 'mins ' + seconds + ' secs') 
} 

timer = setInterval(showRemaining, 1000); 

} 

回答

0

只有一個,你叫.bind地方:

this.setState({ 
    days: days, 
    hours: hours, 
    minutes: minutes, 
    seconds: seconds 
}.bind(this)); 

對象沒有.bind方法,only functions do。不知道你在.bind這裏試圖達到什麼目的。只要刪除它。

相關問題