inflearn logo
강의

講義

知識共有

Vue3完全マスター:基礎から実践まで - 「基本編」

リアクティブ基礎 (Reactivity)

reactive vs ref... 굳이 reactive를 사용하는 이유가 뭔가요?

1945

jjkim0222

投稿した質問数 25

1

//template
<tr v-for="(product,index) 
 in productList" :key="product.id">

// setup
let productList = reactive([])

const getProductList = function() {
  productService.getProductList(null, null, null, null)
    .then((response) => {
       console.log('response.data.data :', response.data.data); // array
       console.log(productList)
       productList = response.data.data
       console.log(productList)
     })
  }

이 코드에서 productList = response.data.data를 할당하니까 반응성이 사라지더라구요 ( 변수에 새로운 값을 할당해버린 게 그 원인이었구요)

그래서

1) productList = ref([]) 로 하고
productList.value = response.data.data 하니까 정상 작동

2) productList = reactive({ a : []}) 로 하고

productList.a = response.data.data


template에서

<tr v-for="(product,index) 
 in productList.a" :key="product.id">

로 사용하니까 정상 작동

3) 이것만 보면 ref로 선언하면 데이터를 받아올 때 .value 하나만 추가해주면 끝이지만 reactive를 사용하면 .a를 이곳저곳에 다 붙여줘야 되는데 객체, 배열은 reactive 안에 넣어서 사용하는 이유는 뭔가요?

 

4) 그냥 reactive는 버리고 ref로만 모든 반응형을 선언해도 기능상에 문제는 없나요?

vue.js vuejs

回答 1

0

gymcoding

안녕하세요.

reactive의 이점은 객체타입을 선언시 유용합니다. .value 를 붙이지 않아도 되니까요.

하지만 ref, reactive 를 혼용해서 개인적으로 일관성 없고 불편해서 저도 ref를 주로 사용하는 편입니다. (이러한 이유에 대해서는 강의에서 언급합니다.)

팀이나 개인의 선호에 따라 사용하시면 될 것 같아요~!

npm init vue@3.1.9

0

37

2

크롭 웹스토어 vue devtools 설치 관련

0

39

1

snippets 작성하는 부분 설명이 있었나요?

0

47

2

computed 의 set 함수를 통해 const 변수에 값을 담는 부분

0

52

2

소스 공유 어디서 해야하는지 궁금합니다

0

60

2

component 등록과 사용

0

57

2

강의교안

0

56

2

eslint 룰 관련 질문이 있습니다.

0

64

2

npm init -y 명령어 실행에 관한 질문

0

153

2

volar 가 마켓플레이스에 검색되지 않아 vue(official)을 설치했습니다.

0

167

2

깊은 감시자 질문

0

88

2

정리된 내용

0

153

2

화면이 왜 이렇게 뜨는걸까요?

0

184

2

왜 다르게 뜰까요..?ㅠㅠ

0

155

2

npm init vue , npm create vue@latest 명령 오류

0

289

2

강의를 듣다보니 궁금한 점 질문드립니다.

0

141

2

watch강의 질문

0

153

1

강의 듣다가 질문드립니다.

0

119

1

이벤트 처리 부분 강의 실습

0

140

2

v-pre는 설명이 없나요?

0

152

2

AppCard.vue 만들다 말고 오류가 갑자기 엄청 뜹니다

0

146

1

개발자도구 Vue 탭 관련 문의

0

240

2

강의를 인텔리제이로 수업따라가도 되져?

0

177

2

API 사용시 자동으로 import하는 기능은 어떤것을 설치해야 하나요?

3

276

2