【问题标题】:Array is not stored correctly数组未正确存储
【发布时间】:2019-03-05 07:04:49
【问题描述】:

我有代码:

for (let key in data ){
    let info = data[ key ];
    arr.push(<li>{info.name}</li>);
}
this.setState({
    response: arr,
    arr: []
  })

但是当我尝试时:

this.setState((prevState) => ({
    response: prevState.response.push(<li>{data.name}</li>)
}))

我只得到一个数字而不是数据数组。

我该如何解决这个问题?

【问题讨论】:

  • push() 的回报是什么?
  • jsx 推送到state 不是一个好习惯。应该只设置数据,然后用它来渲染

标签: javascript arrays reactjs react-redux


【解决方案1】:

push返回插入后数组的长度,请改用concat

this.setState((prevState) => ({
    response: prevState.response.concat([<li>{data.name}</li>])
}))

【讨论】:

    猜你喜欢
    • 2016-02-18
    • 1970-01-01
    • 1970-01-01
    • 2017-11-02
    • 2019-04-29
    • 2021-12-06
    • 2021-05-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多