如何使用json对象中的数组以及不在json对象中的数组在React应用程序中设置状态?

时间:2018-06-10 03:18:38

标签: arrays json reactjs state

我有一个json对象,我已将我的应用程序状态设置为

class App extends Component {
  constructor (props) {
  super(props)
  this.state = DATA;
 }

json对象有一个产品对象数组。 我还想在状态中添加一个空数组。 当用户点击产品时,该阵列会将产品推入其中。 该数组不存在于json对象中。 我怎样才能将其设置为this.state = DATA;

2 个答案:

答案 0 :(得分:3)

React状态接受对象。因此,如果您想使用空数组初始化状态,可以像这样分配



class App extends Component {
  constructor (props) {
  super(props)
  this.state = {
data : blahblahblah,
products : []
      }
   }
}




例如,当您想要访问产品阵列时,可以使用

进行更新



 this.setState({products : [id:'1', product_name : 'something']}) 




答案 1 :(得分:0)

您可以将构造函数中的状态初始化为

constructor (props) {
  super(props)
  this.state = {
       data:DATA,
       products:[]
   }
 }

当您选择产品时,您必须将新商品推送到产品数组中,例如

addProduct(item){
  let products=[...this.state.products];
  prosucts.push(item);
  tis.setState({products:products});
}