【发布时间】:2021-12-28 13:15:08
【问题描述】:
我正在尝试用从对象数组中获取的值填充一个对象,但它没有按预期工作。
这是一个简化的代码示例
https://codesandbox.io/s/crazy-nobel-c7xdb?file=/src/App.js
import "./styles.css";
import React, { useEffect, useState } from "react";
export default function App() {
const [fieldsValues, setFieldsValues] = useState({});
const items = [{ value: "a" }, { value: "b" }, { value: "c" }];
useEffect(() => {
items.map((item, index) => {
return setFieldsValues({
...fieldsValues,
[index]: item.value
});
});
}, []);
return (
<div className="App">
<h2> {` fieldsValues = ${JSON.stringify(fieldsValues)}`} </h2>
</div>
);
}
我希望 fieldsValues 返回这个:
{
0: "a",
1: "b",
2: "c"
}
我现在得到了什么:
fieldsValues = {"2":"c"}
【问题讨论】:
标签: javascript arrays reactjs object