更改阵列状态中的状态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);

最新更新