HTML Component Deep Dive

현재까지 이어진 상황으로서,하나의 컴포넌트가 state 를 가질 수 있게 만들어 두었다.하지만, 상위 컴포넌트의 state 가 하위 컴포넌트의 props 가 될 수 있다.이 때, state, setState() 의 메서드는 EventTarget 으로부터 파생하였다.Working File : useState.jsclass CustomEventTarget extends EventTarget { constructor(secretValue) { super(); this._secret = secretValue; } setSecret = (newSecret) => { this._secret = newSecret; } getSecret = () => {..
제목 : 커스텀 웹 컴포넌트 정의 및 선언커스텀 웹 컴포넌트를 브라우저에 등록하여 사용하는 방법은 2 가지 방식이 존재한다.이 두 가지 방식을 보기 전에, 먼저 등록하는 법을 보자 :const customElements = window.customElements;customElements.define("component-name", 등록할 커스텀 컴포넌트 클래스);여기에서, define 할 두 가지 방식이 있다.1. 클래스 정식 선언 후 등록class InitComponent extends HTMLElement { constructor(){ super(); // ... this.setAttribute("number", "1"); } static..
제목 : 커스텀 웹 컴포넌트 정의 및 선언커스텀 웹 컴포넌트를 브라우저에 등록하여 사용하는 방법은 2 가지 방식이 존재한다.이 두 가지 방식을 보기 전에, 먼저 등록하는 법을 보자 :const customElements = window.customElements;customElements.define("component-name", 등록할 커스텀 컴포넌트 클래스);여기에서, define 할 두 가지 방식이 있다.1. 클래스 정식 선언 후 등록class InitComponent extends HTMLElement { constructor(){ super(); // ... this.setAttribute("number", "1"); } static..
제목 : Web Component 생명주기웹 컴포넌트의 기본 상태와 생명주기 메서드는 다음과 같다 : class InitComponent extends HTMLElement { constructor(){ super(); // 내장 변수 및 메서드 선언 } connectedCallback(){ // 브라우저 DOM 에 "실제로" 연결되면 호출, 실행됨. } disconnectedCallback(){ // 브라우저 DOM 에서 연결이 끊어지면 호출, 실행됨. } adoptedCallback(){ // 새로운 document 로 이동되었을 때 마다 호출됨. // 부모 트리가 바뀌면 실행되지 않을까..
제목 : Web Component 사용법Web Component 라는 기술은 스마트폰의 보급과 함께,웹사이트에서 동적인 요소들을 효과적으로 관리하기 위해 제작되었는데,안타깝게도 사용 난이도와 번거로움, 최적화에 있어 현대의 모든 웹 서버 프레임워크를 이기지 못한다.하지만, 나의 커스텀 리액트를 제작하기 위해서 기초가 될 뼈대로는 충분하다.Web Component 란브라우저에는 일반적으로 div, p, h1, img 와 같은 기본 태그들이 들어갈 수 있다.하지만, 개발자가 자신만의 커스텀 태그를 만들어 이를 컴포넌트화 시키고 싶을 경우 사용하는 라이브러리이다.단, 기억해야 할 것은 커스텀 컴포넌트를 Node 환경에 등록하는 것이 아니라, 브라우저에 등록한다는 것이다.예를 들어, 라는 초기화 컴포넌트를 직..
제목 : 커스텀 리액트 제작기 시작제목 : Web Component우리는 현재 React, Vue, Svelte 와 같은 웹 서버 프레임워크를 사용하고 있다.이는 현재 라이브러리로서 활약중이지만, 사실상 프레임워크라고 봐도 될 정도로 방대하다.이러한 웹 서버 프레임워크들은, 브라우저 엔진에서 제공하는 저 수준의 변수와 메서드, 프로세스를자체적으로 가공하여 편리하게 만들었으며, 유저 풀을 만들었다.이러한 웹 서버 프레임워크의 진화 과정 속에서 나 또한 리액트를 공부했었다.하지만 드는 생각은, 너무 편리하기에 내부에서 진행되는 과정을 모르겠다는 것이었다.리액트는 어떠한 이유로 클래스에서 함수 형태의 컴포넌트로 진화하였는지,왜 개발자들이 리액트를 선택하였는지 이에 대해 의구심을 가졌다.그리고 프로그래머스 부트..
코딩크리처
'HTML Component Deep Dive' 카테고리의 글 목록