gpt4 book ai didi

javascript - Uncaught TypeError : this. state.data.map 不是函数

转载 作者:可可西里 更新时间:2023-11-01 01:36:12 25 4
gpt4 key购买 nike

我是 React 的新手,见过一些类似的问题,但没有找到为什么会这样。我收到“未捕获的类型错误:this.state.data.map 不是函数”。这是代码。请帮助找出问题所在。

class Audienses extends React.Component {

constructor (props)
{
super(props);

this.state = {
data: ''
};

this.loadFromServer = this.loadFromServer.bind(this);
this.childeDelete = this.childeDelete.bind(this);
this.childeEdit = this.childeEdit.bind(this);

}

loadFromServer () {
var xhr = new XMLHttpRequest();
xhr.open('get', this.props.url, true);
xhr.onload = function() {
var data = JSON.parse(xhr.responseText);
this.setState({ data: data });

}.bind(this);
xhr.send();
}

componentDidMount() {
this.loadFromServer();
}


render () {

var audienses = this.state.data.map((value, index) => (
<OneElement key={value.id} audience={value.audience} description={value.description} />
));

/* or like this
var audienses = this.state.data.map(function(s) {
<OneElement key={s.id} audience={s.audience} description={s.description} onDeleteClick={this.childeDelete} oneEditClick={this.childeEdit} />
}).bind(this);
*/
return
<div>
<h1>Audiences</h1>
<table id="services">
<tr>
<th>Audience</th>
<th>Description</th>
<th></th>
<th></th>
</tr>
<tbody>
{audienses}
</tbody>
</table>
</div>;
}
}

最佳答案

你的初始data状态是String.,String没有方法.map,你需要改变你的初始状态''[]

this.state = {  data: [] };

关于javascript - Uncaught TypeError : this. state.data.map 不是函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39329100/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com