【发布时间】:2020-01-25 05:17:31
【问题描述】:
考虑以下几点:
this.setState({
validations: [...this.state.validations, ...validations]
}, () => {
// ... Do something
});
我在做什么:[...this.state.validations, ...validations] 验证是一个对象数组。
例如:
// validation
[{message: 'hello', isError: true, fieldId: 87}, ....]
基本上每次我们遇到验证错误时,我们都会将对象数组设置为一个数组,如上所示。
问题是有时会添加重复的对象。重复我的意思是在消息部分,所以this.state.validations 可能看起来像:
[
{message: 'hello', isError: true, fieldId: 87},
{message: 'hello', isError: true, fieldId: 87},
{message: 'hello', isError: true, fieldId: 87},
...
]
我想做的是根据 validations 中的消息和 fieldId 过滤 this.state.validations 并说:
// If this message doesn't exist for this field id, set it.
是否有一种简单的非混乱方式可以使用过滤器或其他东西来循环状态验证和比较 fieldId 和消息的验证,如果它不存在:添加它?
【问题讨论】:
标签: javascript arrays reactjs react-state-management