我想将useeffect jobTitle和noOfvacation添加到mydata数组中。我的数据数组是动态的,它的大小是使用useeffect for循环自动更改的
最后,我的目标是通过数据显示饼图
图像附在下面,
在此处输入图像描述
useEffect(() => {
for (let i = 0; i < vacancy.length; i++) {
var jobTitle = vacancy[i].jobTitle;
var noOfVacancy = vacancy[i].noOfVacancy;
console.log(jobTitle, noOfVacancy);
}
}, [vacancy]);
const myData = [
{ x: "PHP", y: 90 },
{ x: "Python", y: 400 },
{ x: "Javascript", y: 300 },
];
最好像一样使用useState
const [myData, setMyData] = useState([
{ x: "PHP", y: 90 },
{ x: "Python", y: 400 },
{ x: "Javascript", y: 300 },
]);
useEffect(() => {
const data = myData.slice();
for (let i = 0; i < vacancy.length; i++) {
var jobTitle = vacancy[i].jobTitle;
var noOfVacancy = vacancy[i].noOfVacancy;
data.push({x: jobTitle, y: noOfVacancy});
}
setMyData(data)
}, [vacancy]);
不要忘记导入useState