在React的this.state中,我有一个名为的属性,formErrors
其中包含以下动态对象数组。
[
{fieldName: 'title', valid: false},
{fieldName: 'description', valid: true},
{fieldName: 'cityId', valid: false},
{fieldName: 'hostDescription', valid: false},
]
假设我需要将具有fieldName的state对象更新cityId
为的有效值true
。
解决此问题的最简单或最常见的方法是什么?
我可以使用任何库immutability-helper,immutable-js等或ES6。我已经尝试并在Google上搜索了4个多小时,但仍然无法绕开它。非常感谢您的帮助。
您可以map
用来迭代数据并检查fieldName,如果fieldName是cityId,则需要更改值并 返回一个新对象,
否则就return
一样object
。
这样写:
var data = [
{fieldName: 'title', valid: false},
{fieldName: 'description', valid: true},
{fieldName: 'cityId', valid: false},
{fieldName: 'hostDescription', valid: false},
]
var newData = data.map(el => {
if(el.fieldName == 'cityId')
return Object.assign({}, el, {valid:true})
return el
});
this.setState({ data: newData });
我有一系列推车。我想更新请求对象中的产品数量。即。 我有一个数组的产品和数量,比如: 我想更新它们,如: 这可能的逻辑是什么?
问题内容: 有没有一种方法可以更新对象中的值? 假设我要为id = 2的项更新名称和值项; 我尝试了以下w /猫鼬: 这种方法的问题在于它会更新/设置整个对象,因此在这种情况下,我会丢失id字段。 猫鼬中是否有更好的方法来设置数组中的某些值,但不理会其他值? 我也只查询了这个人: 问题答案: 你近了 您应该在使用update运算符时使用点符号来做到这一点:
是否有方法更新对象中的值? 假设我想更新id=2的项目的名称和值项目; 我尝试过以下猫鼬: 这种方法的问题在于它更新/设置了整个对象,因此在本例中,我丢失了id字段。 在mongoose中有没有更好的方法来设置数组中的某些值,而不设置其他值? 我也问过只是人:
假设我们有以下集合,我对此没有什么问题: > 我想增加“item_name”的价格:“my_item_two”,如果它不存在,应该将它追加到“items”数组中。
在reducer内部,给定一个状态对象: 在更新喷泉上。 我一直在查看这里的react ducomentation:https://facebook.github.io/react/docs/update.html,但我真的不知道如何做到这一点。请指教!
问题内容: 在reducer内部,给定一个状态对象: 如您所见,数据是一个嵌套数组,每个元素中都有一个数组。 知道action.indexToUpdate将是数据索引,我想以编程方式将data [action.indexToUpdate] .subset更新为新数组。例如,如果action.indexToUpdate = 0,那么data [0]将从 至 为此,我有: 但是当我执行此操作时,它返回