簡體   English   中英

更改數組狀態 redux 中的狀態反應本機

[英]Changing state in array state redux react native

我對來自服務器的結果列表的初始狀態將在result

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

服務器的結果是搜索結果列表。

示例數組結果

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

我的減速機

case SET_BOOKMARK:
      return state.setIn(['result', 'Bookmark'], action.payload.total)

我想在用戶為特定 id 添加書簽時更新特定的書簽狀態,如何實現? 減速機是什么樣子的?

這是您的案例的示例

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);

暫無
暫無

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

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