未捕获类型错误:this.props.data.map不是函数(使用超级代理)
Uncaught TypeError: this.props.data.map is not a function (using superagent)
我得到的是"props.data.map不是函数错误"。我还在ResultList中console.log"this.props.data",但不知怎么的,它仍然没有映射。我还尝试了谷歌和stackoverflow中的所有相关链接。
请告知。任何帮助都将不胜感激!!谢谢大家:)
此处的链接显示了响应的屏幕截图:图像
var Results = React.createClass({
getInitialState: function() {
return {data: []};
},
componentDidMount: function() {
// loading results from server for initialization
this.loadResultsFromServer();
},
loadResultsFromServer: function() {
superagent
.get('http://localhost:5000/analyzer')
.end(function(err, res){
if (res) {
console.log(res);
this.setState({data: res.text});
} else {
console.log("error loading results from server: ", err);
}
}.bind(this));
},
render: function() {
return (
<div>
<ResultList data={this.state.data} />
</div>
);
}
});
var ResultList = React.createClass({
render: function() {
var resultNodes = this.props.data.map(function (result) {
return (
<Result name={result.Name}>
{result.Score}
</Result>
);
});
return (
<div>
{resultNodes}
</div>
);
}
});
看起来res.text
是一个字符串,而不是数组。这意味着它将不具有.map
功能。如果这是API返回的响应,则在设置状态时需要调用JSON.parse,即:
this.setState({ data: JSON.parse(res.text) });
相关文章:
- 创建一个类似链接的按钮,并通过Javascript函数打开一个新的弹出窗口
- 将函数的上下文应用于javascript变量
- 如何在JavaScript中将字符串转换为函数引用
- 用嵌套函数和默认函数定义函数
- 使用 jQuery 的 .on 函数如何获取事件的原始元素
- 无法导出函数expressjs/requestjs中的变量
- 函数参数中的数据与指定变量之间的任何性能差异
- JQuery合并了keyup和focusout两个函数
- ES6构造函数返回基类的实例
- 得到"TypeError:对象不是函数“”;在forEach循环中使用超级测试/超级代理时
- 超级代理“请求”对象被重新定义为函数
- 如何在javascript中代理函数
- ES6代理可以't是函数
- 未捕获类型错误:this.props.data.map不是函数(使用超级代理)
- 给定子域中的cookie,您可以编写一个返回代理服务器主机名的javascript函数吗
- immacros函数iimPlay()失去先前建立的代理连接
- 从代理调用javascript函数
- 如何代理通过jQuery.find()在函数中创建的每个元素的上下文
- 代理和函数导入
- SignalR JS hub代理的多个实例,实现多次函数回调