-
글쓴이글
-
2021년 12월 26일 23:08 #22982

송민철참가자Stat컴포넌트의 stat에서 카테고리 별로
운동은 운동state에, 공부는 공부state에, 기타는 기타state에 분류해서 넣기위해 코드를 구성했습니다.
Division함수를 통해 stat을 돌아가며 각각의 state에 넣어주었습니다.
console.log로 운동을 확인해 보니 두 개의 객체가 나와야 하는데 하나의 객체만 나오고 있습니다..ㅠㅠ
어디가 잘못된 것 인가요??
function Stat(props){
let [stat,stat변경] = useState([
{
date: "2021-12-22",
category: "운동",
most_reps: "10",
most_time: "2",
total_reps: "10",
total_time: "3",
number_of_participants: "참여자 수",
number_of_completes: "완료자 수",
},
{
date: "2021-12-22",
category: "공부",
most_reps: "10",
most_time: "2",
total_reps: "15",
total_time: "20",
number_of_participants: "참여자 수",
number_of_completes: "완료자 수",
},
{
date: "2021-12-22",
category: "기타",
most_reps: "10",
most_time: "2",
total_reps: "5",
total_time: "18",
number_of_participants: "참여자 수",
number_of_completes: "완료자 수",
},
{
date: "2021-12-30",
category: "운동",
most_reps: "10",
most_time: "2",
total_reps: "8",
total_time: "25",
number_of_participants: "참여자 수",
number_of_completes: "완료자 수",
},
]);
let[공부,공부변경] = useState([]);
let[운동,운동변경] = useState([]);
let[악기,악기변경] = useState([]);
let[기타,기타변경] = useState([]);
let i=0;function Division(){
for(i;i<stat.length;i++){
switch(stat[i].category){
case '공부' : 공부변경([...공부, stat[i]]);
break;
case '운동' : 운동변경([...운동, stat[i]]);
break;
case '악기' : 악기변경([...악기, stat[i]]);
break;
case '기타' : 기타변경([...기타, stat[i]]);
break;
}
}
return;
}useEffect(()=>{
Division()
}
,[stat]);... }
2021년 12월 27일 09:43 #23003
codingapple키 마스터state변경함수가 늦게 처리되어서 그런게 아닐까요
반복문에서 바로바로 state변경함수를 부르지 말고
[] 자료 하나 만들어서 거기 결과를 넣어뒀다가
반복문 끝나고 한 번에 state변경함수를 써봅시다
-
글쓴이글
- 답변은 로그인 후 가능합니다.
