初始化状态迭代对象数组
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' }, }))]);
}
如果我显示代码,这个问题会更清楚:
用空数组初始化状态很简单:
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' }, }))]);
}