profile
피곤한만큼 성장할 수 있으면
post-thumbnail

BivarianceHack에 대해 알아보자

Typescript + React로 작업을 하다보면, Third Party와 React 모듈에서 'BivarianceHack'이라는 것으로 타입이 정의된 것을 심심찮게 볼 수 있습니다.BivarianceHack은 Bivariance를 사용할 수 있는 우회 통로입니다.그

2023년 5월 10일
·
0개의 댓글
·
post-thumbnail

useEffect, 꼭 필요할 때만 쓰자

덕지덕지 붙어있는 useEffect를 제거해보자.

2023년 3월 22일
·
2개의 댓글
·

리액트, AHA Programming?

얼마전 회사 동료로 부터 다음과 같은 코드리뷰를 받았습니다. 회사에서 짠 코드를 가져올 순 없으니, 어떤 form이었는지 예시를 간단히 만들어 보았습니다. CreateUserForm과 EditUserForm입니다. !codesandbox[relaxed-pine-mb

2022년 12월 24일
·
0개의 댓글
·

마진 상쇄(Margin Collapse)

복수의 마진이 겹칠 때 상쇄되는 현상이다. MDN에서는 다음과 같이 설명하고 있다.여러 블록의 위쪽 및 아래쪽 바깥 여백(마진)은 경우에 따라 제일 큰 여백의 크기를 가진 단일 여백으로 결합(상쇄)되곤 합니다. 이런 동작을 여백 상쇄라고 부릅니다.MDN 문서에서는 언급

2022년 8월 3일
·
0개의 댓글
·

리액트와 클로저 2편

클로저와 모듈패턴으로 구현하는 리액트

2022년 7월 16일
·
0개의 댓글
·

리액트와 클로저 1편

요즘 자바스크립트 공부를 나름 열심히 하고 있습니다.그런데 이런 "이론"적인 것들을 도대체 어디서 써먹지..라는 생각이 들기도 했습니다.아직 실무 경험이 없어서 그렇겠지만 안 와닿는 건 어쩔 수 없는 것 같습니다.그런데 이번에 우연히 useState, useEffect

2022년 7월 16일
·
0개의 댓글
·

타입스크립트 기초

타입스크립트를 사용하는 가장 큰 이유라고 할 수 있다. 자바스크립트는 dynamic typing동적 타이핑 언어이다. 다음 예시를 보자콘솔에는 다음과 같이 출력된다.이번에는 인수로 전달되는 값을 문자열로 바꿔 보자콘솔에는 다음과 같이 출력된다. 자바스크립트가 문자열을

2022년 7월 16일
·
0개의 댓글
·

[CSS] ease-in ? ease-out?

CSS에서 애니메이션을 구현할 경우, transition과 animation 속성에서 'ease\*'값을 줄 때가 있다. 막연하게 애니메이션을 부드럽게 해준다는 개념만 알고있었는데, 더 이상 헷갈리지 않게 각각의 속성값을 정리 해보겠다.css transition위 그래

2022년 7월 16일
·
0개의 댓글
·

Object.keys와 for...in

Object.keys메소드를 호출하면 객체의 프로퍼티를 열거할 수 있다.for...in 구문을 사용해도 객체의 프로퍼티를 열거할 수 있다.상속받은 프로퍼티를 열거하느냐에 있다.Object.keys는 상속받은 프로퍼티는 열거하지 않는다.반면, for...in 구문은 상속

2022년 7월 13일
·
0개의 댓글
·

타입스트립트 환경에서 getElementById 사용 시 주의 점

리액트로 프로젝트를 하면서 모달 컴포넌트를 만들 때 생각지 못한 부분에서 오류가 났습니다.아래 코드는 모달 컴포넌트를 portal을 통해 root가 아닌 다른 요소에 렌더링하고 있습니다.다만, 다음과 같이 오류가 발생합니다. getElementById의 반환 값은 HT

2022년 7월 12일
·
0개의 댓글
·

React Portal

공식 문서에 따르면이라고 하는데... 설명이 무척 어렵게 느껴진다. :sweat:예시를 통해 무엇을 의미하는지 알아보자다음과 같이 간단히 모달 컴포넌트를 만들어 보았다.App.js에서 모달이 열려있는지(modalOpen) 상태관리를 하며 렌더링 해준다.이처럼 모달 컴포

2022년 7월 9일
·
0개의 댓글
·

React Fragment

리액트를 사용하다보면, 다음과 같이 '<></>' 혹은 '<React.Fragment><React.Fragment/>'를 사용하는 경우를 자주 볼 수 있다.그렇다면 왜 이렇게 사용해야 할까?이유는 에러메세지를 보면 알 수 있다.여러 개의 JSX e

2022년 7월 9일
·
0개의 댓글
·