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

home2 게시판 React 게시판 state 안에 글 개수만큼 값 넣기..?

state 안에 글 개수만큼 값 넣기..?

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

    배희창
    참가자
    오랜만에 뵙습니다 선생님. 사이트 제작중에 심플한 오류가 있는데 너무 깊게생각하는건지 답이 안보이네요
    
    안누름
    다이얼이 있는데 저 + 누르면
    누름
    다이얼이 위로 펼쳐집니다.
    
    
    코드
    + 아이콘을 누르면 active의 불린값을 반대로 바꾸기로 스위치를 만들었는데,
    다같이 active 상태로 변하고 왜 변하는지 문제를 찾았는데
    저 [active, setActive] = useState([]); 안에
    post 수만큼의 false값을 각자 넣으려면 어떻게 대처해야할까요..?
    가능하다면
    {
            post.map((item, i)=>{
              return(
                <ContactItem>
                <DialBox>
                  <MdAddCircle className={'icon z' + `${active[i] ? ' active' : ''}`} onClick={()=>{setActive(!active[i])}}/>
                  <MdLocalPhone className={'icon' + `${active[i] ? ' y3' : ' hide'}`}/>
                  <MdOutlineFileDownload className={'icon' + `${active[i] ? ' y2' : ' hide'}`}/>
                  <MdPrint className={'icon' + `${active[i] ? ' y1' : ' hide'}`}/>
                </DialBox>
              </ContactItem>
              )
            })
          }
    이런식으로 변경이 될까요..? state안에 반복문이 안들어가서 질문드립니다
    #71349

    codingapple
    키 마스터
    state에 [false, false, false] 넣어두고 각각 0번 1번 2번 아이콘 보이는 상태로 생각하면 될듯요
    #71394

    배희창
    참가자
    글의 개수가 3개가 아니라 유저가 무한정으로 생성하면 관리할 state가 늘어날텐데
    그걸 글의 length 기준으로 늘어나게 하는 방법이 있을까요?
    
    post = 4개
    const [active, setActive] = useState([false, false, false, false]);
    post = 5개
    const [active, setActive] = useState([false, false, false, false, false]);
    
    요런 방법이 있을까요...?
    #71409

    codingapple
    키 마스터
    반복문쓰거나 Array.from 쓰면 원하는 길이로 array생성 가능합니다
4 글 보임 - 1 에서 4 까지 (총 4 중에서)
  • 답변은 로그인 후 가능합니다.

About

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

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

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