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

home2 게시판 React 게시판 copy = title 이용해서 어레이 원본을 지키려했는데...

copy = title 이용해서 어레이 원본을 지키려했는데...

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

    bolo
    참가자
    
    
    copy = title
    copy.sort()
    titleChange(copy)
    이런식으로 작성했습니다
    
    글수정, 정렬을 누르다보면 저런식으로 원본 어레이인 title을 계속 건드려서 꼬입니다!
    
    그래서 shallow copy, deep copy를 검색해보고 lodash를 이용해서 let copy = cloneDeep(title)를 해봤는데도 계속 원본 자료를 바꿔버리는데
    어떻게 해야할까요??
    
    
    #58243

    codingapple
    키 마스터
    let copy = [...title] 합시다
    #58279

    bolo
    참가자
    아 말씀하신대로 작성했었네요 
    같은 문제 발생하고 있습니다~
    #58280

    bolo
    참가자
    #58324

    codingapple
    키 마스터
    수정누르고 정렬누르면 이상해진다는것입니까 
    수정버튼누르면 현재 글제목 array의 0번째 항목을 수정해달라고 코드짜놨을 뿐이라 그럴 뿐입니다 
    
    #58495

    bolo
    참가자
    titleCopy = [...title]
    titleCopy[0] = '여자코트 추천'
    titleCopy
    
    console.log(titleCopy) // ['여자코트 추천', '강남맛집 추천', '파이썬 독학']
    console.log(title) // ['여자코트 추천', '강남맛집 추천', '파이썬 독학']
    
    이렇게 되는데
    새로운 화살표를만들어서 useState를 변경하는건 이해했는데, 그거 말고
    title원본 어레이를 지키려고 titleCopy를 만든게 아닌가용??
    titleCopy라는 새로운 어레이를 만들고 titleCopy만 수정했는데
    왜 원본 title어레이도 변하는지 이해가 안됩니다 ㅠ
    
    
    #58517

    codingapple
    키 마스터
    titleChange() 같은거 쓰면 state를 변경해줍니다 
    원본을 남기고 싶으면 state나 변수를 하나 더 만들거나 합시다
7 글 보임 - 1 에서 7 까지 (총 7 중에서)
  • 답변은 로그인 후 가능합니다.

About

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

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

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