初始化状态迭代对象数组

Initialize state iterating an array of objects

如果我显示代码,这个问题会更清楚:


用空数组初始化状态很简单:
export default function MyComponent() {
  const [state, setState] = useState([]);
}

但是,我有一个路径数组,我需要像这样为每个路径创建一个对象:

{
  source: path,
  options: { type: 'local' }
}

我应该如何使用循环创建的对象数组来初始化状态?
我尝试过这种方法但没有奏效:

export default function MyComponent({ paths }) {
  const [state, setState] = useState([ paths.map((path) => ({source: path, options: {type: 'local'} }) ]);
}

您可以尝试使用展开运算符:

export default function MyComponent({ paths }) {
    const [state, setState] = useState([...paths.map((path) => ({source: path, options: { type: 'local' }, }))]);
}