我让我从外部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