반응형의 사용에 관한 질문입니다(ref, reactive)
697
작성한 질문수 19
안녕하세요, 강의를 듣고 사이드 프로젝트를 하면서 의문이 생기어 질문남깁니다.
제가 이제까지는 .vue 파일내부의 script 내부에서, 모든 변수를 반응형화 하였는데요, 이게 의미가 있는지에 대해 의문이 생기어 질문드립니다.
예를 들어, 인풋에서 값을 받아 검색을 하는 상황에서, searchBookQuery라는 변수를 선언하여 반응형화 하였는데요, 그렇지 않고 그냥 let으로 선언해서 사용을해도 상관이 없으려나요?
모든 변수가 반응형객체로 생성된다는게 살짝 성능상에서도 좋지않을까 하는 고민이들어 질문 드립니다.
코드예시
// bookSearchResults는 렌더링 되는 부분과 연관이 있기에
// 반응형으로 생성해야한다라는 확신이 들지만
// 다른 변수는 어떨지 선생님의 의견이 궁금합니다
const bookSearchResults = ref([]);
const searchBookQuery = ref("");
const queryTimeout = ref(0);
const searchBook = (e: Event) => {
searchBookQuery.value = (e.target as HTMLInputElement).value;
queryTimeout = setTimeout(async () => {
if (searchBookQuery.value !== "") {
const result = await axios.get(...);
bookSearchResults.value = result.data.item;
} else {
bookSearchResults.value = null;
}
}, 500);
};
// --------위: 반응형선언, 아래: 일반 변수선언------------
let searchBookQuery = null;
let queryTimeout = 0;
const searchBook = (e: Event) => {
searchBookQuery = (e.target as HTMLInputElement).value;
queryTimeout = setTimeout(async () => {
if (searchBookQuery !== "") {
const result = await axios.get(...);
bookSearchResults.value = result.data.item;
} else {
bookSearchResults.value = null;
}
}, 500);
};
답변 1
0
안녕하세요 :)
맞아요~! 굳이 반응하지 않는 변수들은 let, const로 사용하시면 됩니다.
(참고로 저는 값의 변경이 없는 변수(상수)는 대부분 const로 정의합니다. let은 잘 사용 안하는 것 같아요 🙂)
0
대댓글을 지금 봤네요ㅜ
개발자 스타일 마다 달라 정의를 딱 내리기 힘들지만 저의 경우에는
상수의 경우 const로 선언하고 그 외에는 반응형(Reactivity API)으로 선언합니다~!
질문드립니다.
0
32
0
unplugin-vue-components 질문드립니다.
0
41
2
강의듣다가 헷갈려서 질문드립니다.
0
35
1
와 짐코딩님 강의 들으면서 느끼는게 많네요.
0
33
1
질문드립니다.
0
33
2
라우터 인스톨 후 실행안됨
1
52
2
코드 자동 포매팅 질문
0
71
2
필터 watchEffect 질문입니다.
0
52
1
json-server 오류가 다른게 뜨네요
0
115
1
미리보기가 안됩니당...
0
70
2
unplugin-vue-components
0
86
2
TypeError 질문
0
53
1
v-model="show" :show="show" 같이 사용?
1
58
1
hash 모드 배포의 필요성?
0
63
2
.eslintrc.cjs 가 없습니다
0
96
2
title,content값이 비어서 저장되는데 제가 혹시 어떤 부분을 잘못 작성했는지 ㅜㅜ 알고싶습니다.
0
98
3
_title_like: "", 문의드려요 해당 값을 설정하면 list가 아에 안나옵니다.
0
65
1
@click.prevent="params._page = pageNum"> 에 .value를 안쓰는 이유가 궁금합니다.
0
73
2
중첩된 컴포넌트 문제
0
76
2
교안에 있는 부분이 아닌가요?
0
109
2
useAxios Proxy(Object) RefImpl
0
114
1
axios timeout
0
338
3
강의와 상관은 없지만, 궁금한 점이 있어 질문드립니다.
0
124
2
컴포넌트 분리 부분에서 오류가 나요ㅠㅠ
0
170
2





