이벤트 리스너를 추가하거나 제거하는 방법
주의
사용법
const button = document.querySelector('button');
const handleClick = () => {
console.log('button clicked');
};
button.addEventListener('click', handleClick, { capture: true });
button.removeEventListener('click', handleClick, { capture: true });
상태 반응성 // vue는 상태값에 모두 동기적으로 렌더링되는건진 모르겠으나 Proxy를 사용해서 그런가? 상태값에 더 실시간 랜더링되는듯한 느낌이었음
input 요소 컨트롤
vue provide, inject // react context api와 동일
vue slotProps // react children 함수에 인자 전달과 동일
vue defineExpose // useImperativeHandle
lodash cloneDeep: 객체를 깊은 복사를 할 때 사용
JSON.parse(JSON.stringify()): 객체를 깊은 복사를 할 때 사용
그렇다고 lodash의 cloneDeep이 만능은 아님
아직 정확히 파악하진 못했으나 cloneDeep을 사용했을 때 에러발생하던게 JSON.parse(JSON.stringify())로 해결되는 경우가 있음
rollupOptions.external
, rollupOptions.output.globals
로 제어를 해야되는데(vite v5 환경
), 그러면 모든 라이브러리들이 window.A 같은걸로 동작 잘 하는지 확인해야됨.
리소스도 너무 크고 비효율적임