更新数组中的所有元素

时间:2017-09-04 12:17:43

标签: immutable.js

我必须使用Immutablejs

更新数组中的所有元素

JSON看起来像这样:

AAAAA|...

我只想迭代所有系列元素并将颜色更改为固定颜色"#1bf115"。

我猜你会使用更新功能。这个函数没有API文档,所以我做了很多试验错误。

我试着像这样使用它:

imState = Immutable.fromJS({
  app: {
    line: {
      name: "Bar Chart",
      series: [
        {
          name: "Series1x",
          color: "#82ca9d"
        },
        {
          name: "Series2x",
          color: "#2239ca"
        },
        {
          name: "Series3x",
          color: "#c2a5ca"
        }
      ]
    }
  }
})

但是我在 series.map 时收到了一个未定义的错误。

为什么这是错的?

1 个答案:

答案 0 :(得分:1)

因为您提供的是深层嵌套路径,而不是update使用updateIn

imState = imState.updateIn(
  ['app', 'line', 'series'],
  series => series.map(s => s.update('color', color => "#1bf115"))
)