Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs FieldArray fields.length不显示字段的实际大小。length_Reactjs_Redux_Redux Form - Fatal编程技术网

Reactjs FieldArray fields.length不显示字段的实际大小。length

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,我想使用fields.swap(indexA,indexB)和sede Field中的按钮来交换其中的字段

交换分叉很好,但当我想检查作为道具接收的字段长度时会遇到问题。此长度始终等于我单击的项目的索引。(如果我单击了第一个项目-fields.length将等于十分之一到十分之一,即使fields数组中有20个项目)

我的代码的简化版本是这样的。我是做错了什么,还是redux表单有问题

<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