2015-11-02 42 views
0

我讓我從外部JSON初始數據React Js:如何重新加載通過ajax加載的初始數據?

componentDidMount: function() { .... $.get(jsonfile, function(data) { .... 

但是,通過輸入「jsonfile」的狀態發生變化。 當「jsonfile」prop的狀態發生變化時,再次調用render方法,但我也想重新運行$.get請求。 什麼是適當的(react)的方式來做到這一點?

+1

請出示你的組件的一些代碼示例,您問題太廣泛,因爲它目前代表 – deowk

回答

3

你應該抽象掉你的數據讀取。如果你把你的數據的抓取在一個單獨的輔助方法,在需要的時候可以調用該方法,它應該做的狀態取(後來更新)

React.createClass({ 
    componentDidMount: function() { 
     this.fetchData(); 
    }, 

    fetchData: function() { 
     var _this = this; 
     $.get('....', function (result) { 
      _this.setState(result); 
     }); 
    }, 

    handleClick: function() { 
     this.fetchData(); 
    }, 

    render: function() { 
     return (<div onClick={this.handleClick}>{data}</div>); 
    }, 
}); 
+0

謝謝tak3r,正是我一直在尋找! – Phoelpis

0

如果可以,請從項目中上傳一些代碼。

從我所瞭解的情況來看,您正在調用API來產生JSON響應,並且您有相同json的用戶輸入?

在這種情況下,如果您想對API進行補充調用,則應該將API調用置於反應組件提供的正確生命週期方法中。

請參閱https://facebook.github.io/react/docs/component-specs.html

相關問題