inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

Vue3 완벽 마스터: 기초부터 실전까지 - "기본편"

반응형 기초 (Reactivity)

일반 객체, 배열에 ref 사용시 질문드립니다.

186

정호원

작성한 질문수 2

0

reactive({}), reactive([])가 아닌
일반 객체와 배열에 ref 타입 속성을 사용하더라도

reactive 객체에 담아서 사용할 때와 .value unwrapping 여부 외에는 동일하게 동작하는 것 같은데 맞게 이해한걸까요??

ref를 쓸 떄 반드시 reactive와 함께 써야하는지 궁금합니다(코드 상 편의를 제외한 이유)

export default {
	setup() {
		// ################일반 객체에 ref#######################
		// ref => {}
		const count2 = ref(0);
		const state2 = {
			count2,
		};
		count2.value += 1;
		count2.value += 1;
		count2.value += 1;

		// console.log(count2);
		// console.log(state2.count2.value);
		// console.log(state2.count2);

		// ################Reactive 객체에 ref#######################
		// ref => Object
		const count = ref(0);
		const state = reactive({
			count,
		});
		count.value += 1;
		count.value += 1;
		count.value += 1;

		// console.log(count);
		// console.log(state.count.value); // undefined, 객체 안에 ref가 들어갈 경우 .value를 자동으로 까서 반환해준다.
		// console.log(state.count);

		// ################일반 배열에 ref#######################'
		// ref => array
		const message2 = ref('Hello');
		const arr2 = [message2];
		console.log(arr2[0]);
		console.log(arr2[0].value);

		// ################Reactive 배열에 ref#######################'
		// ref => array
		const message = ref('Hello');
		const arr = reactive([message]);
		console.log(arr[0]);
		console.log(arr[0].value);

		const incrementCount = () => {
			count.value += 1;
			count2.value += 1;
			console.log(count, state.count.value);
			console.log(count2, state2.count2.value);
		};
		const changeText = () => {
			message.value += '!';
			message2.value += '!';
			console.log(arr);
			console.log(arr2);
		};
		return {
			incrementCount,
			changeText,
			state,
			state2,
			count,
			count2,
		};
	},
};

vue.js

답변 1

0

짐코딩

안녕하세요

제가 질문을 100% 이해할 수 없어서요.

우선

질문) ref를 쓸 때 반드시 reactive와 함께 써야하는지 궁금합니다

답변) 반드시 그렇지 않습니다. 저의 경우에는 함께 쓰는일은 거의 없어요

npm init vue@3.1.9

0

41

2

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

0

42

1

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

0

49

2

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

0

53

2

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

0

61

2

component 등록과 사용

0

58

2

강의교안

0

56

2

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

0

64

2

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

0

155

2

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

0

168

2

깊은 감시자 질문

0

88

2

정리된 내용

0

155

2

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

0

186

2

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

0

155

2

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

0

294

2

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

0

141

2

watch강의 질문

0

153

1

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

0

120

1

이벤트 처리 부분 강의 실습

0

141

2

v-pre는 설명이 없나요?

0

154

2

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

0

146

1

개발자도구 Vue 탭 관련 문의

0

240

2

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

0

178

2

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

3

280

2