TIL_22.05.17

이서현·2022년 5월 17일
0
  • 오늘 강의 특별게스트 퓨저블 대표 양민열
    대표 양민열 github
    이 분은 하루의 10분 비핸스, 드리블, 핀터레스트 들어가서 ui/ux 공부 하심
    라이브러리를 하나하나 뜯어본다고 하심
    역시는 역시네

  • useCallback, useMemo, useEffect에서 deps는 3개 이상 ㄴㄴ

  • 모달 만들 때
    React portalReact portal 사용하기

  • 디자이너가 있기 때문에 실무에서는 아이콘 라이브러리 안씀

  • react-helmet
    페이지별 SEO 메타태그 설정하기,
    페이지 별 title 바꾸기

  • moment.js 망했음. day.js 쓰기

  • 라이브러리 쓸 때
  1. 해당 라이브러리의 github에 간다
  2. Starred의 수를 본다
  3. Issues의 수를 본다
    이슈가 많다면 그 라이브러리는 안쓰는 게 좋다
    (=이슈를 해결하지 않고 방치한다면)
  • 하나의 컴포넌트에 4개 이상의 state가 있다면 컴포넌트를 분리하자

  • 설치할 때
    dependencies랑 devdependencies 구분해서 설치

  • 메모이제이션(memoization)
    컴퓨터 프로그램이 동일한 계산을 반복해야 할 때, 이전에 계산한 값을 메모리에 저장함으로써 동일한 계산의 반복 수행을 제거하여 프로그램 실행 속도를 빠르게 하는 기술

  • emotion.js
    CSS-in-JS library

  • 절대경로 설정

    // tsconfig.json
     "compilerOptions": {
        "baseUrl": "src"
      }
  • staleTime
    해당 기간 동안에는 캐싱을 해놨다가 사용할 수 있음

    const { data, refetch } = useQuery(
        ['getWeatherForecast5DaysApi', lat, lon],
        () => getWeatherForecast5DaysApi({ lat: Number(lat), lon: Number(lon) }).then((res) => res.data),
        {
          refetchOnWindowFocus: false,
          useErrorBoundary: true,
          staleTime: 6 * 10 * 1000,
        }
      )

    캐싱 전략의 일종으로 쓰시면 되겠다

  • favicon은 사이즈별로 다 넣기

  • 폰트 추천 프리탠다드, 스포카 한 산스(서브셋)

  • IE 사용자 쫓아내기

  // public/index.html
  <body>
  ...
  <!-- [iF IE]>
      <div id='ieGuide">
          <h1>IE ㄴㄴ</h1>
      </div>
  <![endif] -->
  ...
  </body>
  • useQuery pagination 지원 가능하여 setState 사용할 필요 없음

  • return 안에는 가독성을 위해 map이나 삼항연산자 빼기

  • 폰트는 wtf2나 wtf만 사용

  • tsx는 Dom이 포함된 파일

  • import 순서
    패키지 > 훅스류 > 로컬

  • netlify: 간단하게 배포하는 사이트

react-loadable

크롬 익스텐션 Octotree

완전 편하다

runcat
CPU, 메모리, 배터리 사용량 등을 간단하게 확인 할 수 있는 앱

사용량이 많아지면 비둘기 머리가 빨리 돌아간다

profile
🌿💻💪🧠👍✨🎉

0개의 댓글