Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- map
- 스크롤이벤트
- Filter
- array
- app:compiledebugkotlin
- 안드로이드빌드에러
- Next.js
- app.post
- materialicons
- 이진탐색
- generic
- 페이지네이션
- set
- 리액트네이티브아이콘
- 글또10기
- react
- 슬라이딩윈도우
- 배열중복요소제거
- async
- javascript
- 상속
- interface
- mainapplication.kt
- TS
- extends
- 타입스크립트
- Spring
- meatadata
- reactnative
- supabase 페이지네이션
Archives
- Today
- Total
rhanziy
리액트 Hooks - useTitle 본문
import "./styles.css";
import React, { useState, useRef, useEffect } from "react";
const useClick = (onClick) => {
if (typeof onClick !== "function") {
return;
}
const element = useRef();
useEffect(() => {
if (element.current) {
element.current.addEventListener("click", onClick);
}
return () => {
if (element.current) {
element.current.removeEventListener("click", onClick);
}
};
}, []);
return element;
};
export default function App() {
const sayHello = () => console.log("say hello");
const title = useClick(sayHello);
return (
<div className="App">
<h1 ref={title}>Hi</h1>
</div>
);
}
useTitle 함수에 useState를 이용해 초기 타이틀 Loading 값을 주고(querySelector로 html title값을 지정)
setTimeout 함수로 5초뒤에 타이틀이 바뀌는 페이지 구현.
useRef라는 훅을 통해 html구조를 가져다가 자유롭게 쓸수있다.
useTitle함수 안에서 useState값 받아오고 useEffect로 바뀌는 값 감지!
App컴포넌트 내에서
setTimeout(() => titleUpdater("Home"), 5000);
setTimeout에 바뀔 타이틀 Home 입력. useTitle이 return값으로 타이틀값을 반환하기 때문에 이렇게 입력해도 됐다.
'React' 카테고리의 다른 글
리액트 Hooks - useAxios (0) | 2022.05.24 |
---|---|
리액트 - 함수형 프로그래밍 useConfirm (0) | 2022.05.18 |
리액트 Hooks - useTabs(useState) ...🙄 (0) | 2022.05.10 |
react. react작업 github page로 올리기 (0) | 2022.03.15 |
react. react-router-dom (0) | 2022.03.12 |
Comments