我有一个名为resultArray
的对象数组,比如
[
{
"name": "Morgan",
"category": "on",
"dept": "A1"
},
{
"name": "Lewis",
"category": "on",
"dept": "A2"
},
{
"name": "Ivan",
"category": "off",
"dept": "A3"
}
]
在我的API结果中。如何将它们设置到state
中以获得如下结果
this.state = {
person: [
{
"name": "Morgan",
"category": "on"
},
{
"name": "Lewis",
"category": "on"
},
{
"name": "Ivan",
"category": "off"
}
]
};
发布于 2018-05-31 19:19:01
最初,在state
对象中使用[]
值声明person
键,如下所示
constructor(props){
this.state.person = [];
}
并使用setState
更新列表,如下所示
this.setState({person : resultArray });
发布于 2018-05-31 19:39:33
如果希望设置默认数据,则使用constructor
,或者如果希望进行ajax调用,则使用componentDidUpdate
。请参阅下面的示例代码。
class Mycomponent extends React.Component{
constructor(props){
super(props)
this.state = {
person: [
{name:"Morgan", category:"on"},
{name:"Lewis", category:"on"},
{name:"Ivan", category:"off"}
]
}
}
componentDidUpdate(){
// make some ajax call to get data
// now set state like
data = {
person: [
{name:"Morgan", category:"on"},
{name:"Lewis", category:"on"},
{name:"Ivan", category:"off"}
]x
}
this.setstate(data)
}
}
https://stackoverflow.com/questions/50622969
复制相似问题