작성
·
196
0
강의중 나오는 useContext를 이용해 emit을 가져오는 코드가
크롬 콘솔창에서 경고가 아래와 같이 나오네요
runtime-core.esm-bundler.js?5c40:38 [Vue warn]: `useContext()` has been deprecated and will be removed in the next minor release. Use `useSlots()` and `useAttrs()` instead.
useContext()이 deprecated 된다고 나오는데 useContext대신 useSlots(), useAttrs()을 어떻게 활용해야는지 궁금합니다.
답변 1
0
useContext가 Deprecated가 되네요
setup(props, {emit}) 이렇게 쓰시거나
useContext 부분에 getCurrentInstance를 사용하시면 되네요
<script>
import { getCurrentInstance } from 'vue';
export default {
props: {
numberOfPages: {
type: Number,
required: true
},
currentPage: {
type: Number,
required: true
}
},
emits: ['click'],
setup() {
const { emit } = getCurrentInstance();
const onClick = (page) => {
emit('click', page)
};
return {
onClick
}
}
}
</script>