我讓我從外部JSON初始數據React Js:如何重新加載通過ajax加載的初始數據?
componentDidMount: function() { .... $.get(jsonfile, function(data) { ....
但是,通過輸入「jsonfile」的狀態發生變化。 當「jsonfile」prop的狀態發生變化時,再次調用render方法,但我也想重新運行$.get
請求。 什麼是適當的(react
)的方式來做到這一點?
我讓我從外部JSON初始數據React Js:如何重新加載通過ajax加載的初始數據?
componentDidMount: function() { .... $.get(jsonfile, function(data) { ....
但是,通過輸入「jsonfile」的狀態發生變化。 當「jsonfile」prop的狀態發生變化時,再次調用render方法,但我也想重新運行$.get
請求。 什麼是適當的(react
)的方式來做到這一點?
你應該抽象掉你的數據讀取。如果你把你的數據的抓取在一個單獨的輔助方法,在需要的時候可以調用該方法,它應該做的狀態取(後來更新)
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>);
},
});
謝謝tak3r,正是我一直在尋找! – Phoelpis
如果可以,請從項目中上傳一些代碼。
從我所瞭解的情況來看,您正在調用API來產生JSON響應,並且您有相同json的用戶輸入?
在這種情況下,如果您想對API進行補充調用,則應該將API調用置於反應組件提供的正確生命週期方法中。
請參閱https://facebook.github.io/react/docs/component-specs.html
請出示你的組件的一些代碼示例,您問題太廣泛,因爲它目前代表 – deowk