我已经将一个数组的状态设置为[]空,在componentDidMount中,我正在获取API响应。.现在我想使用新的json响应数组来设置空数组的状态,我该怎么做?
constructor(props)
{
super(props)
this.state = {
categoryList : []
}
}
componentDidMount()
{
axios.get('http:xxxxxxxxxxxxxxxxxxxxxxx')
.then(res =>
{
this.setState = {
categoryList : res.data.body.category_list(json path)
}
})
.catch(function(error) {
console.log('Error on Authentication' + error);
})
}
答案 0 :(得分:1)
尝试一下:
this.setState({
categoryList : res.data.body.category_list(json path)
})
因为setState()
方法接受将与当前状态合并的对象。
答案 1 :(得分:1)
您需要在这里了解两件事
以下功能用于使用初始值初始化状态
bysort category: list difference if _n == _N
-> category = a
+------------+
| difference |
|------------|
3. | .67 |
+------------+
-> category = b
+------------+
| difference |
|------------|
3. | 14.67 |
+------------+
-> category = c
+------------+
| difference |
|------------|
3. | 104.67 |
+------------+
要修改categoryList状态或任何其他状态变量,您需要使用setState方法,如下所示。请记住setState是一种方法
bysort category: generate results = difference if _n == _N