Reactjs FieldArray fields.length不显示字段的实际大小。length
我有一个FieldArray,我想使用fields.swap(indexA,indexB)和sede Field中的按钮来交换其中的字段 交换分叉很好,但当我想检查作为道具接收的字段长度时会遇到问题。此长度始终等于我单击的项目的索引。(如果我单击了第一个项目-fields.length将等于十分之一到十分之一,即使fields数组中有20个项目) 我的代码的简化版本是这样的。我是做错了什么,还是redux表单有问题Reactjs FieldArray fields.length不显示字段的实际大小。length,reactjs,redux,redux-form,Reactjs,Redux,Redux Form,我有一个FieldArray,我想使用fields.swap(indexA,indexB)和sede Field中的按钮来交换其中的字段 交换分叉很好,但当我想检查作为道具接收的字段长度时会遇到问题。此长度始终等于我单击的项目的索引。(如果我单击了第一个项目-fields.length将等于十分之一到十分之一,即使fields数组中有20个项目) 我的代码的简化版本是这样的。我是做错了什么,还是redux表单有问题 <FieldArray name="Fields" component={
<FieldArray name="Fields" component={renderFields} />
...
const renderFields= ({ fields, meta: { error } }) => {
const handleSwap = function (currentIndex, nextIndex) {
//This next line is where I meet the problem
//fields.length is always equal to the index of item I clicked
if(nextIndex < fields.length )
{
fields.swap(currentIndex, nextIndex)
}
}
return (
<div>
{fields.map((field, index) =>
<Field
onSwap={handleSwap}
....
</Field>
</div>
)
}
...
常量renderFields=({fields,meta:{error}})=>{
const handleSwap=函数(currentIndex,nextIndex){
//下一行就是我遇到问题的地方
//fields.length始终等于我单击的项的索引
if(nextIndex
shouldComponentUpdate
返回false
导致此问题。shouldComponentUpdate
返回false
导致此问题。redux表单没有问题,我无法重现此问题=>,它只起作用…@Freez shouldComponentUpdate返回false wa是什么导致了这个问题,我修改了我的shouldComponentUpdate,现在这对我来说不是问题,但你认为这是一个bug吗?我修改了fiddle来重现bug修改了fiddle,redux form没有问题,我无法重现问题=>,它只是工作…@Freez shouldComponentUpdate返回false是导致错误的原因是问题,我修改了我的shouldComponentUpdate,现在这对我来说不是问题,但你认为这是一个bug吗?我修改了fiddle以复制bug修改过的fiddle