• 로그인
  • 장바구니에 상품이 없습니다.

home2 게시판 React 게시판 map 함수 내에서 state 변경 함수 호출 시 무한루프 문제

map 함수 내에서 state 변경 함수 호출 시 무한루프 문제

2 글 보임 - 1 에서 2 까지 (총 2 중에서)
  • 글쓴이
  • #129285

    김채우
    참가자
    react 강의 9장 map에서 내주신 숙제를 하다가 오류가 발생했는데요
    App 컴포넌트 안에서 
    
    function likeOnClick(index) {
    let copy = [...likeCount]
    copy[index] = likeCount[index] + 1
    setLikeCount(copy)
     };
    해당 함수를 만들어놓고
    
    return문 안에서
    {
    postName.map(function(value, index) {
    return (
    <div className="list" key={index}>
    <h4>{value}
    <span onClick={() => {
    let copy = [...likeCount]
    copy[index] = copy[index]+1
    setLikeCount(copy)
     }
    }>👍</span>
    {likeCount[index]}
    </h4>
    <p>8월 6일 발행</p>
    </div>
     )
     })
    }
    이렇게 map 함수를 만들어 호출했습니다. 
    코딩애플님 정답과 다른 점은 map 함수 내부에서 정의해서 함수를 사용하느냐 호출하느냐인거 같습니다.
    state 변경 함수가 사용될 때마다 리렌더링이 되어 map 함수가 처음부터 사용되기 때문에 무한루프가 발생하는 것 같은데 함수를 호출하지 않고 정의해서 바로 사용하는 것도 다른 점이 없지 않나요?
    해당 부분이 궁금해 글 남깁니다. 
    감사합니다.
    #129293

    codingapple
    키 마스터
    html안에 state변경하라는 코드나 재렌더링하라는 코드 없으면 무한루프일어날 일은 없습니다
2 글 보임 - 1 에서 2 까지 (총 2 중에서)
  • 답변은 로그인 후 가능합니다.

About

현재 월 700명 신규수강중입니다.

  (09:00~20:00) 빠른 상담은 카톡 플러스친구 코딩애플 (링크)
  admin@codingapple.com
  이용약관
ⓒ Codingapple, 강의 예제, 영상 복제 금지
top

© Codingapple, All rights reserved. 슈퍼로켓 에듀케이션 / 서울특별시 강동구 고덕로 19길 30 / 사업자등록번호 : 212-26-14752 온라인 교육학원업 / 통신판매업신고번호 : 제 2017-서울강동-0002 호 / 개인정보관리자 : 박종흠