Javascript React.FC-组件动态排序错误

Javascript React.FC-组件动态排序错误,javascript,reactjs,typescript,react-component,react-hook-form,Javascript,Reactjs,Typescript,React Component,React Hook Form,我已经创建了一些React.FC组件并添加了顺序,但一旦我将它们分解成更小的组件,它就停止工作了。看起来状态已更新,但物理UI不会更新。当代码不在REACT.FC组件中时,它工作正常。 有人知道是什么导致了这个问题吗 这是UI,突出显示的区域是用于订购的上下按钮。单击按钮后,组件应向上或向下移动 以下是我的“构建块”代码: 从“/Interfaces/IBuildingBlockSelector”导入{IBuildingBlockSelector}; 从“React”导入React,{Chan

我已经创建了一些React.FC组件并添加了顺序,但一旦我将它们分解成更小的组件,它就停止工作了。看起来状态已更新,但物理UI不会更新。当代码不在REACT.FC组件中时,它工作正常。 有人知道是什么导致了这个问题吗

这是UI,突出显示的区域是用于订购的上下按钮。单击按钮后,组件应向上或向下移动

以下是我的“构建块”代码:

从“/Interfaces/IBuildingBlockSelector”导入{IBuildingBlockSelector};
从“React”导入React,{ChangeEvent};
导出常量BuildingBlockSelector 2:React.FC=({
页面索引,
构建块索引,
登记
构建区块数据,
把手模块选择器或更改
}) => {
const[blockType,setBlockType]=React.useState();
const[availableBlockVersions,setavailableBlockVersions]=React.useState([]);
const[templateVersion,setTemplateVersion]=React.useState();
constHandleBuildingBlockTypeChange=(页面索引:编号,buildingBlockIndex:编号,事件:ChangeEvent)=>{
setBlockType(事件、目标、值);
var availableVersions=buildingBlocksData?.find(x=>x.key==event.target.value)?.versions为[];
setavailableBlockVersions(可用版本);
//将可用版本设置为最新版本
var firstValue=AvailableEversions[AvailableEversions.length-1];
setTemplateVersion(第一个值);
handleBuildingBlockSelectorChange(页面索引、buildingBlockIndex、event.target.value、firstValue);
}
constHandleBuildingBlockInputChange=(索引:编号,buildingBlockIndex:编号,事件:ChangeEvent)=>{
setTemplateVersion(event.target.value);
handleBuildingBlockSelectorChange(索引,buildingBlockIndex,块类型为字符串,event.target.value);
};  
if(buildingBlocksData)
{   
返回(
handleBuildingBlockTypeChange(页面索引、buildingBlockIndex、事件)}
值={blockType}
ref={register({required:true}
)}>                
{buildingBlocksData.map((项,索引)=>)
{item.key}
))}
handleBuildingBlockInputChange(页面索引、buildingBlockIndex、事件)}
值={templateVersion}
ref={register({required:true}
)}>                
{availableBlockVersions.map((项,索引)=>)
{item}
))}
);
}
否则{
没有数据
}
组件在循环中创建:

 <BuildingBlockSelector2 
                                  key={`${buildingBlock}~${blockIndex}`}
                                  pageIndex= {index}
                                  buildingBlockIndex= {blockIndex}
                                  register= {register}
                                  buildingBlocksData = {data as IBuildingBlock[]}     
                                  handleBuildingBlockSelectorChange = {handleBuildingBlockSelectorChange}                                                           
                                />

    return null;
}

返回null;
}
谢谢

 <BuildingBlockSelector2 
                                  key={`${buildingBlock}~${blockIndex}`}
                                  pageIndex= {index}
                                  buildingBlockIndex= {blockIndex}
                                  register= {register}
                                  buildingBlocksData = {data as IBuildingBlock[]}     
                                  handleBuildingBlockSelectorChange = {handleBuildingBlockSelectorChange}                                                           
                                />

    return null;
}