首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在React JS中将数组值设置为状态

如何在React JS中将数组值设置为状态
EN

Stack Overflow用户
提问于 2018-05-31 19:11:50
回答 2查看 51关注 0票数 -1

我有一个名为resultArray的对象数组,比如

代码语言:javascript
复制
[
  {
    "name": "Morgan",
    "category": "on",
    "dept": "A1"
  },
  {
    "name": "Lewis",
    "category": "on",
    "dept": "A2"
  },
  {
    "name": "Ivan",
    "category": "off",
    "dept": "A3"
  }
]

在我的API结果中。如何将它们设置到state中以获得如下结果

代码语言:javascript
复制
this.state = { 
  person: [
    {
      "name": "Morgan",
      "category": "on"
    },
    {
      "name": "Lewis",
      "category": "on"
    },
    {
      "name": "Ivan",
      "category": "off"
    }
  ]
};
EN

回答 2

Stack Overflow用户

发布于 2018-05-31 19:19:01

最初,在state对象中使用[]值声明person键,如下所示

代码语言:javascript
复制
constructor(props){
  this.state.person = [];
}

并使用setState更新列表,如下所示

代码语言:javascript
复制
this.setState({person : resultArray });
票数 0
EN

Stack Overflow用户

发布于 2018-05-31 19:39:33

如果希望设置默认数据,则使用constructor,或者如果希望进行ajax调用,则使用componentDidUpdate。请参阅下面的示例代码。

代码语言:javascript
复制
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)
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50622969

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档