• 카테고리

    질문 & 답변
  • 세부 분야

    프론트엔드

  • 해결 여부

    미해결

data 변경에 방법에 대해 질문드립니다.

20.01.20 18:33 작성 조회수 83

1

todoItems의 원본 데이터 변경 측면에서 slice가 아닌 splice 사용을 강조하셨는데, 리액트와 비교해서 궁금증이 생겨서 질문드립니다. 리액트에서는 state변경시 이전 state의 불변성을 유지하기 위해 새로운 객체를 생성하여 넣는 방식을 사용하는데 뷰에서는 이와는 반대되는 개념인가요? 저는 this.todoItems = [선택된 아이템이 제거된 새로운 배열] 이렇게 구현할거라 생각했었는데 예상과 달라서 질문드립니다. 두 가지 방법 모두 정상적으로 동작하는 것처럼 보입니다만 후자의 경우 제가 모르는 잠재적 문제가 있는것인가요?

답변 2

·

답변을 작성해보세요.

1

안녕하세요 viveloper님 좋은 질문입니다. 질문 바로 답변드리면 리액트의 핵심 사상은 immutability(불변성)임에 반해 뷰에서는 reactivity(반응성)을 추구합니다. 따라서, 리액트에서 state를 setState()로 변경하시던 습관을 뷰에서 계속 가져가실 필요는 없습니다. 원본 데이터를 편하게 조작하시면 뷰에서는 알아서 화면을 잘 그려줄 거구요. 그리고 reactivity 조작하실 때 주의하셔야 할 점만 알고 계시면 크게 문제 없을 것 같습니다. 주의할 점은 아래 문서를 참고하세요 :)

https://vuejs.org/v2/guide/reactivity.html

0

viveloper님의 프로필

viveloper

질문자

2020.01.30

감사합니다~ 알려주신 링크도 많은 도움이 되었네요 ^^