首页 > 解决方案 > 错误:[arrayReplace] `arr` 必须是一个数组

问题描述

我在 React-shape-editor 库中上传的图像上绘制、移动、调整一些矩形的错误。据说“arr.slice 不是函数或其返回值不可迭代”

我的代码在这里https://codesandbox.io/s/rectangles-ihsgo

我的代码将让用户上传图片,上传后显示 2 个矩形,但我也无法调整大小、移动或绘制其他矩形。我认为错误出在此函数中:

function arrayReplace(arr, index, item) {
  return [
    ...arr.slice(0, index),
    ...(Array.isArray(item) ? item : [item]),
    ...arr.slice(index + 1),
  ];
}

我看过很多修复错误,但不知道如何修复它们。有人能帮我吗?

标签: arraysreactjsupload

解决方案


您将整个状态对象传递给arrayReplace,您只需要传递currentItems.items


推荐阅读