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

home2 게시판 React 게시판 map 함수 질문드립니다.

map 함수 질문드립니다.

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

    김범우
    참가자

    선생님이 내주시는 숙제랑 알려주신방법으로 잘작동하지만 제코드랑 남의 코드를 비교하기위해 다른사이트에서 제코드를 올렸는데 다른방식으로 다른개발자님이 피드벡을 준코드가있는데

    이해가안가서  질문드립니다

     

    {title.map((a, i) => {
            return (
              <div className="list" key="a">
                <h3>
                  글제목 : {a}
                  <button
                    onClick={() =>
                      Setlike((arr) =>
                        arr.map((el, idx) => (idx === i ? el + 1 : el))
                      )
                    }
                  >
                    <span role="img" aria-label="good">
                      👍
                    </span>
                  </button>
                  <button
                    onClick={() =>
                      Setlike((arr) =>
                        arr.map((el, idx) => (idx === i ? el - 1 : el))
                      )
                    }
                  >
                    <span role="img" aria-label="bad">
                      👎
                    </span>
                  </button>
                  {like[i]}
                </h3>
                <p>2월 18일 발행</p>
                <hr />
              </div>
            );
          })}

     

    button 에 Setlike 부분부터 이해가안갑니다 

    보통 변수변경() 이렇게 사용했는데 위에코드는  arr 을 괄호에 넣고 에로우함수를사용해서

    arr 에다가 다시 map 함수를썬느데 여기서 arr 은 Setlike 변경함수가 가지고있는 like 의 어레이를 담고있는 파라미터인가요 ? 

    #22437

    codingapple
    키 마스터

    state변경함수 안에 함수도 집어넣을 수 있는데

    함수에 파라미터 넣으시면 그 파라미터는 기존 state 데이터를 뜻합니다 

    그리고 변경할 새로운 state데이터를 함수 안에서 return 하시면 state 수정됩니다

     

    함수 안에서 arr.map 반복문 돌려서

    현재 i값과 같은 항목을 찾아서 +1 해주고 결과를 그 자리에 return 해달라는 뜻인듯요 

    #22446

    김범우
    참가자

    오 . . 감사드립니다 !

3 글 보임 - 1 에서 3 까지 (총 3 중에서)
  • 답변은 로그인 후 가능합니다.

About

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

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

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