簡體   English   中英

如何在 ArrayObject React native 中設置狀態數組

[英]How to setState Array in ArrayObject React native

我已經坐了一段時間試圖弄清楚如何做到這一點我已經搜索了很多關於 StackOverFlow 的文檔(也許我錯過了)

this.state = {
        data: {
                labels: [],
                datasets: [
                    {
                        data: []
                    }
                ]
            }
        };

我嘗試使用以下代碼如何為 2 個 arrays 標簽:[] 和數據:[] setState CONCAT

我的代碼:

  this.setState(a => ({
       data: {
          labels: this.state.data.labels.concat(x.month), <- is this correct?
          datasets: [
                      {
                        data: this.state.data.datasets.map(x=> x.data.concat(x.money/1000))
                     or //data: this.state.data.datasets[0].data.concat(x.money/1000))
                       }
                    ]
              }
           }
        )
     )

JS

data: {

                labels: [],
                datasets: [
                    {
                        data: []
                    }
                ]
       }

如何指向數據數組?

您可能知道,react/react-native 中的 state 更新是異步的。 因此,您編寫的代碼有時可能會導致一些奇怪的行為。 例如,同時多個 function 調用 state 更新可能會導致意外結束 state。

相反,您可以更新您的 state 如下


this.setState((state, props) => ({
   data: {
      labels: state.data.labels.concat(x.month),
      datasets: state.data.datasets.map(({data}) => ({data: data.concat(x.money/1000)}))
    }
  })
)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM