我是React的新手,我有点疯狂,想弄清楚我做错了什么.我试图遍历一个从ajax调用得到的json数组.当我模拟数据它完美地工作,但是当我进行ajax调用以获得完全相同的数据时,它给我undefined不是一个函数(评估’this.state.list.map()’)
数组:
[{“name”:“drop1”},{“name”:“drop2”},{“name”:“drop3”}]
功能:
var List = React.createClass({ getInitialState: function() { return {data: {}}; },componentDidMount: function() { $.ajax({ url: ACTUAL_URL,dataType: 'json',success: function(data){ this.setState({data: data}); }.bind(this),error: function(xhr,status,err){ console.error(url,err.toString()); }.bind(this) }); },render: function() { return ( <ul className="droplist"> {this.state.data.map(function(l){ return (<li>{l.name}</li>) })} </ul> ); } });
任何帮助深表感谢.
解决方法
更改你的getInitialState(). 目前,您的数据是对象文字,对象文字不支持map(). 将其更改为数组.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。