Я получаю «props.data.map не является функцией ошибки». У меня также есть console.log 'this.props.data' в ResultList, но каким-то образом он пока не отображается. Я также пробовал все связанные ссылки в google и stackoverflow.Uncaught TypeError: this.props.data.map не является функцией (с использованием суперагента)
Просьба сообщить. Любая помощь будет оценена!! Спасибо, ребята :)
Ссылка здесь показывает скриншот ответа: image
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>
);
}
});
спасибо @Jakemmarsh !! но теперь я получаю предупреждение, что каждый ребенок должен иметь уникальную «ключевую» опору. hmm – Winston
@Winston это означает, что каждый элемент, выводимый нашей функцией '.map', должен иметь уникальную подсказку' key'. Самый простой способ добиться этого - также передать индекс, т. Е.: This.props.data.map (function (result, index) {', а затем передать это как prop:' <Имя результата = {result.Name} ключ = {индекс}> ' – Jakemmarsh