这是我的情况,
我有一个对象数组,该对象数组通过redux-form字段数组显示,看起来像
[{
index: 0,
overlapRecord: '127.0.0.1'
},
{
index: 1,
overlapRecord: '127.0.0.1'
}],
我的代码类似
<div className = "delete" onClick = {()=>field.remove(index)}> DeleteButton </div>
当我尝试执行“单击”时,出现以下错误:
"Cannot use 'in' operator to search for 2 in" at deleteInWithPath.
关于错误原因的任何想法都可能非常重要 感谢。
答案 0 :(得分:2)
您需要为on click事件提供回调 像
onclick={
()=>{
field.remove(index)
}
}
答案 1 :(得分:0)
我知道我对这个答案有些迟了,但是如果其他人碰巧遇到相同的问题:
我们在代码库中遇到了同样的问题,经过一两天的寻找解决方案后,我们发现问题出在我们的验证程序内部。
我们正在返回:
const Button = Styled.button.attrs({ className: 'my-class-name' })`
color: green;
`
export default () => (
<ReactPaginate
...
breakClassName='my-class-name' />
)
并将其更改为:
const errors = {
arrayFieldName: ''
};
它正常工作。
您可以在他们的Redux Form FieldArray Example中看到,如果没有错误并且数组中有信息,他们将返回一个空数组;如果没有数据,则返回const errors = {
arrayFieldName: []
};
。