在Redux中更改商店数组元素的最佳方法是什么?我有这3个工作解决方案.哪个是最好的?我认为前两种解决方案正在改变国家.这是真的吗?如果您有更好的解决方案,我会很感激.
在这个例子中我有一个订单列表,我想增加列表中一个订单的数量.我将此订单索引作为orderIndex传递.
第一种方式:
let order = state[action.orderIndex];
order.quantity++;
return Object.assign([],order);
Run Code Online (Sandbox Code Playgroud)
第二种方式:
let order= Object.assign([],state);
order[action.orderIndex].quantity++;
return Object.assign([],order);
Run Code Online (Sandbox Code Playgroud)
第三种方式:
return Object.assign([],state.map(
(order,index) => (index==action.orderIndex) ? {...order,quantity:order.quantity+1} : order)
);
Run Code Online (Sandbox Code Playgroud)
我有另一个解决方案,但它返回一个对象,我不知道如何在此解决方案中返回一个数组.:
return {...state,[action.orderIndex]:{...state[action.orderIndex],quantity:state[action.orderIndex].quantity+1}};
Run Code Online (Sandbox Code Playgroud) 我有一个关于升级react-native版本的问题。我们有一些升级选择,但我不知道有什么区别。
1)react-native upgrade
2)react-native-git-upgrade
3)npm install react-native@latest --save然后react-native run-android或react-native run-ios
我在我的项目中使用了第三种方法,因为我需要在 android 文件夹中维护我的文件,如 MainActivity.java、MainApplication.java、AndroidManifest 等。
您能描述一下这些方式之间的差异吗?