在阵列状态中更改状态Redux React Native

时间:2018-11-28 03:02:32

标签: reactjs react-native redux react-redux immutable.js

我从服务器获得的结果列表的初始状态将位于/favicon.ico

result

服务器的结果是搜索结果列表。

示例数组结果

var InitialState = Record({
   result:[]
})

我的减速器

[{id:1 ,Bookmark:true},
{id:2 ,Bookmark:true}],
.....

我想在用户添加书签特定ID时更新特定书签状态,如何实现?减速器的外观如何?

1 个答案:

答案 0 :(得分:0)

这是您的情况的一个例子

const { setIn } = require('immutable@4.0.0-rc.9')

const state = {"results": [{id:1 ,Bookmark:true},
{id:2 ,Bookmark:true}]};

function findElementIndex(arr, key, value) {
  for (let i = 0; i < arr.length; i++)
    if (arr[i][key] == value)
      return i;
}
const newState = setIn(state, 
    ['results', findElementIndex(state.results, 'id', 1), 'Bookmark'], false);

console.log(newState);