我是React.js的新手,并尝试使用react从ajax调用渲染结果,但数据不会进入render()函数。如果您知道任何其他解决此问题的最佳方法或在反应中进行ajax调用,请提及相同的链接。需要在API中呈现数据.Below是相同的javascript。该值来自componentDidMount方法,结果具有该值。但是当我尝试在渲染中访问时,它就是空的。我试图将值赋给全局对象数组,但这也无效。任何解决方案。在帖子中提到的用于获取数据的链接是一个工作链接。您可以在浏览器中调用该链接并检查json字段。
var UserGist = React.createClass({
getInitialState: function() {
return {
username: '',
lastGistUrl: ''
};
},
componentDidMount: function() {
this.serverRequest = $.get(this.props.source, function(result) {
this.setState({
username = result.description,
lastGistUrl = result.html_url
})
}.bind(this));
},
componentWillUnmount: function() {
this.serverRequest.abort();
},
render: function() {
React.createElement("div", null, this.state.username, " 's last gist's url is ",
React.createElement("div", null, this.state.lastGistUrl, ""), ".")
}
});
ReactDOM.render(React.createElement(UserGist, { source: "https://api.github.com/users/octocat/gists" }), document.getElementById('container'));
答案 0 :(得分:2)
您的代码包含语法错误。将 <ScrollView
android:id="@+id/scroll"
android:layout_width="wrap_content"
android:layout_below="@+id/toolbar"
android:layout_height="wrap_content"
android:fillViewport="true"
android:layout_above="@+id/makeOffer">
替换为=
。
:
即将发生更多错误:
componentDidMount: function() {
this.serverRequest = $.get(this.props.source, function(result) {
this.setState({
username: result.description,
lastGistUrl: result.html_url
})
}.bind(this));
},
缺少退货声明。应该是render
return React.createElement
是一个数组而不是一个对象。你需要以某种方式处理这个问题。例如,选择第一个元素result
result = result[0]
是方法。你应该打电话给它而不是作业setState
应该是setState=({})
这个是演示代码。见固定demo。