Notice
Recent Posts
Recent Comments
Link
«   2025/06   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
Archives
Today
Total
관리 메뉴

나를 위한 기록

231105 / Day 33 본문

Today I Learned

231105 / Day 33

솔솔이소리솔 2023. 11. 6. 00:46
  const handleAddButtonClick = () => {
    const newCard = {
      id: cards.length + 1,
      title,
      content,
    };
    setCards([...cards, newCard]);
    console.log(cards);

아래와 같이 코드 작성 후 콘솔 확인 시 업데이트 내용이 나타나지 않음.

이유: 

React의 setState 함수는 비동기적으로 동작하기 때문에 상태 업데이트가 즉시 반영되지 않을 수 있다. 따라서 상태 업데이트가 아직 완료되지 않은 상태에서 console.log가 실행되어 이전 상태를 보게 된다.

 

해결:

코드를 아래와 같이 수정후 업데이트된 배열이 출력되었다.

  const handleAddButtonClick = () => {
    const newCard = {
      id: cards.length + 1,
      title,
      content,
    };
    const cardUpdate = [...cards, newCard];
    setCards(cardUpdate);
    console.log(cardUpdate);
  };

 

console.log()를 실행하기 전에 cardUpdate변수에 최신 상태를 반영한 배열을 넣어주고 setCards()에 해당 변수를 사용하면 업데이트 된 결과가 출력 된다.

 

카드의 status관리.

삼항연산자를 사용하여 status에 맞는 섹션으로 이동하기.

 

 

피곤..

'Today I Learned' 카테고리의 다른 글

231108 / Day 36 / Todo List 리팩토링 하기  (2) 2023.11.08
231107 / Day 35  (0) 2023.11.07
231103 / Day 31  (0) 2023.11.03
231102 / Day 30  (0) 2023.11.02
231101 / Day 29  (0) 2023.11.01