beeimp
BeeImp
beeimp
전체 방문자
오늘
어제
  • 분류 전체보기 (110)
    • Program_Language (17)
      • Python (13)
      • Go (0)
      • JavaScript (4)
      • TypeScript (0)
      • Rust (0)
      • Solidity (0)
    • OS (8)
      • UNIX&LINUX (7)
      • Windows (0)
      • MacOS (1)
    • Front-End (19)
      • Svelte (19)
      • React (0)
    • Blockchain (6)
      • Bitcoin (0)
      • Ethereum (1)
      • Klaytn (0)
      • Project (5)
    • Data Structure&Algorithm (11)
      • Greedy (7)
      • Dynamic Programming (1)
      • Sort (0)
      • DFS & BFS (2)
      • Recursive (1)
    • Security (0)
      • SDP (0)
      • Authentication (0)
    • Network (3)
      • OpenWrt (0)
      • SDN&NFV (1)
    • Git (5)
    • IT_News (0)
    • 베타 학습단 (12)
      • SQL (12)
    • Project (1)
    • Issues (1)
    • Reviews (3)
    • I Learned (23)
      • TIL (23)
      • WIL (0)
    • Other (1)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 기초
  • PYTHON
  • react
  • Nest.js
  • 탐욕법
  • greedy
  • ubuntu
  • svelte
  • Git
  • typescript
  • Ethereum
  • solidity
  • 블록체인
  • jenkins
  • mysql
  • javascript
  • github
  • blockchain
  • sql
  • Docker

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
beeimp

BeeImp

I Learned/TIL

[TIL] React/Next 로딩 화면 및 클립보드 구현

2022. 6. 30. 02:37

[TIL] React/Next 로딩 화면 및 클립보드 구현

날짜

  • 2022.06.29.

목표

  • 로딩 및 클립보드 기능 구현

내용

Next.js - 로딩 화면 구현

// _app.tsx
import Router from "next/router";
import {useState, useEffect} from 'react'

export default function App({ Component, pageProps }) {
  const [loading, setLoading] = useState(false);

  const start = () => {
    setLoading(true);
  };
  const end = () => {
    setLoading(false);
  };

  useEffect(() => {
    Router.events.on("routeChangeStart", start);
    Router.events.on("routeChangeComplete", end);
    Router.events.on("routeChangeError", end);
    return () => {
      Router.events.off("routeChangeStart", start);
      Router.events.off("routeChangeComplete", end);
      Router.events.off("routeChangeError", end);
    };
  }, []);
  return (
    <>
      {loading ? (
        <h1>Loading...</h1>
      ) : (
        <Component {...pageProps} />
      )}
    </>
  );
}

React - copy clipboard

...
return(
    <button onClick={(e) => {
                **navigator.clipboard.writeText(userInfo.address);**
              }}
  >복사하기</button>
);
...
  • 참조

Navigator - Web API | MDN

결론

  • React/Next로 프로젝트를 진행하면서 로딩 화면 및 클립보드를 구현하면서 최적화 작업을 진행했다.

'I Learned > TIL' 카테고리의 다른 글

[TIL] Github Actions 기초  (0) 2022.07.03
[TIL] 무한 스크롤  (0) 2022.07.03
[TIL] React - Hydration Error  (0) 2022.06.29
[TIL] TDD vs BDD  (0) 2022.06.28
[TIL] 배포하는 길을 멀고도 멀다.  (0) 2022.06.25
    'I Learned/TIL' 카테고리의 다른 글
    • [TIL] Github Actions 기초
    • [TIL] 무한 스크롤
    • [TIL] React - Hydration Error
    • [TIL] TDD vs BDD

    티스토리툴바