我知道如何使用reactJS存储,但是当我将存储与对象数组一起使用时,我遇到了一个问题。
constructor(props) {
super(props);
this.state = {
array: [{ id: null, summary: "", name: "" }]
};
}
componentWillMount() {
const query = "http://api.tvmaze.com/search/shows?q=game";
var dataCount;
axios.get(query).then(response => {
dataCount = response.data.length;
});
axios.get(query).then(response => {
for (let i = 0; i < dataCount; i++) {
if (response.status) {
this.setState({
array: [
...this.state.array,
{
id: i,
summary: response.data[i].show.summary,
name: response.data[i].show.name
}
]
});
}
}
});
}
实际上,我确实对此进行了编码,但是存在很多问题。它是 将array [0]存储在this.state.array [0]中8-9次。当我写 console.log(this.state.array [0])它不只打印一个实例。 始终打印有关axios GET方法响应计数时间的对象。 我想存储像 this.state.array [0] = {id:1,摘要:“ xyz”,名称:“ abc”},this.state.array 1 = {id:1,摘要:“ xyz”,名称:“ abc”}。
答案 0 :(得分:0)
shows
componentDidMount
。 componentWillMount
is deprecated.