inflearn logo
강의

講義

知識共有

Vue3パーフェクトマスター:基礎から本番まで - 「本編」

props으로 가져온 반응형 변수 업데이트 이슈

2151

wonil2480

投稿した質問数 6

0

안녕하세요? 항상 좋은 강의 감사드립니다🙂

아래와 같은 상황에서 warning이 발생하고 있는데 답변주시면 정말 감사하겠습니다 ㅠㅠ


  1. 부모 컴포넌트에서 자식 컴포넌트로 prop으로 값을 넘겨줌
    <ChildVue

    v-model:my-value="value"

    />
    <script setup>
    import { ref } from "vue";
    const value = ref("");
    </script>

  2. 자식 컴포넌트에서 toRef를 이용하여 반응성을 잃지 않도록 구조분해 할당
    import { toRef } from "vue";
    const props = defineProps({

    myValue: String,

    });

    const myValueInput = toRef(props, "myValue");

  3. 구조분해 할당한 반응형 변수를 자식 컴포넌트 내 text input에 binding. 입력값이 변경되는 경우 emit을 통해 업데이트
    <input type="text"

    @input="$emit('update:myValue', $event.target.value)"

    v-model="myValueInput" />


위와 같이 개발을 하니 제가 생각했던대로 동작은 잘 하는데요... 계속 아래와 같은 warning이 뜨고 있습니다 ㅠㅠ

reactivity.esm-bundler.js:4 [Vue warn] Set operation on key "myValue" failed: target is readonly.

강의에서 짚어주신 점들(자식 컴포넌트 내부에서 props 직접변경 X, 반응형을 잃지 않는 구조분해 할당 등)을 제 나름대로 고려했는데 왜 저런 warning이 지속적으로 뜨는 걸까요...?

답변주심 정말 감사드리겠습니다 ㅠㅠ

 

+) 혹시 다음 강의 계획은 어떻게 되시나요?

vuejs

回答 2

3

gymcoding

안녕하세요 :)

이유 : 자식 컴포넌트에서 props를 직접적으로 변경했기 때문

설명

<input type="text"

@input="$emit('update:myValue', $event.target.value)"

v-model="myValueInput" />

v-model(양방향) 대신 :value(단반향) 바인딩으로 설정해야해요~!

v-model 에서 myValueInput(Props 데이터)를 직접적으로 변경하기때문에용~!

그리고 다음 강의는

  • Quasar(based Vue3)로 UI를 만드는 강의와

  • Vue3 + Quasar + Firebase로 커뮤니티 사이트를 만드는 강의를 준비하고 있어요~!

감사합니다 🙂

 

1

tkaqkeldk5261

Vue3 + Quasar + Firebase !!!
군침이 도네요 강사님 ... 화이팅입니다 !!!

0

gymcoding

넵넵~!! 화이팅 감사합니다 🙂

composable: alert 창이 안떠요

0

714

2

Nuxtjs3 강의 계획은 없으신가요?

0

529

1

axios 컴포저블 함수 구현 2에서

0

472

1

composable과 pinia store - 둘 중 하나를 선택하는 기준

1

1596

1

코드 수정 문의

0

441

1

강의교안 수정 요청드립니다.

0

592

1

Pinia 사용 시 composition api

0

1394

1

createPost()의 async, awiat

0

529

1

slot 사용 관련 문의

1

415

1

Filter 구현하기에서 input v-model 질문 있습니다.

0

553

2

라우터 해시 모드 추가 질문

0

543

1

네비게이션 가드 및 플러그인 관련 질문입니다.

0

368

1

트랜지션(transition) 관련 질문드립니다.

0

549

1

json-server에 대해 궁금한게 있습니다~

0

381

1

Vue3 에서 router-link 에 이벤트 추가 방법

0

1194

1

기본편에도 crud 하는게 있을까요?

0

401

1

jsconfig.js 에러

0

385

1

headers 값을 못찾아요~

0

381

1

vite vue3에서 ie safari babel

0

773

1

composables 전역등록

0

299

1

stores 다른 파일에서 state 가져오기

0

442

1

computed에서 인자 전달방법

0

573

1

components.d.ts 자동작성 안됨

0

718

1

cors 에러

0

573

1