t1m*_*thy 14 javascript reactjs react-jsx
是的,我可能在这里错过了明显的但是我得到了一个'未捕获的TypeError:undefined不是一个函数'我似乎是.map()这是问题,但我不明白为什么.
var idealist = React.createClass({
loadCommentsFromServer: function() {
$.ajax({
url: this.props.url,
dataType: 'json',
success: function(data) {
this.setState({data: data});
}.bind(this)
});
},
handleButtonClick: function(input) {
// do stuff //
},
getInitialState: function() {
return {data: []};
},
componentWillMount: function() {
this.loadCommentsFromServer();
setInterval(this.loadCommentsFromServer, this.props.pollInterval);
},
render: function() {
var clickFunction = this.handleButtonClick;
var ideas = this.state.data.map(function(i){
return <ideabox data={i} onButtonClick={clickFunction} />;
});
return (
<div className="idealist">
{ideas}
</div>
);
}
});
React.renderComponent(
<idealist url="/json/quotes.php" pollInterval={2000}/>,
document.getElementById('quoteList')
);
Run Code Online (Sandbox Code Playgroud)
如果我将其更改为var ideas = this.state.data我没有收到任何错误,JSON数据格式正确,可能出错?
.map()
是一种创建具有提供结果的新数组的方法.
这是以下文档:
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map
你可以在这里做的事情是改变.data
对象的属性以返回一个数组.因为.map()
它只适用于Array类型对象.
归档时间: |
|
查看次数: |
43200 次 |
最近记录: |