728x90
노마드 코드의 무료 강의 웹사이트는 아래 주소로 가면 된다.
[예제 코드]
import { StrictMode, useEffect, useRef, useState } from "react";
import ReactDOM from "react-dom";
const useNetwork = (onChange) => {
const [status, setStatus] = useState(navigator.onLine);
const handleChange = () => {
if (typeof onChange === "function") {
onChange(navigator.onLine);
}
setStatus(navigator.onLine);
};
useEffect(() => {
window.addEventListener("online", handleChange);
window.addEventListener("offline", handleChange);
() => {
window.removeEventListener("online", handleChange);
window.removeEventListener("offline", handleChange);
};
}, []);
return status;
};
const App = () => {
const handleNetworkChange = online => {
console.log(online ? "We just went online" : "We are offline");
}
const onLine = useNetwork(handleNetworkChange);
return (
<div className="App">
<h1>{onLine ? "Online" : "Offline"}</h1>
</div>
);
};
const rootElement = document.getElementById("root");
ReactDOM.render(<App />, rootElement);
[강의 설명]
728x90
'끄적끄적 > 리액트 공부 - 노마드 코더' 카테고리의 다른 글
[노마드 코더] 영화 웹 서비스 만들기 - 실전형 리액트 Hooks 적용 - useTitle (0) | 2021.05.03 |
---|---|
[리액트 공부] 노마드 코더, 실전형 리액트 Hooks 10개 - useScroll (0) | 2021.04.30 |
[리액트 공부] 노마드 코더, 실전형 리액트 Hooks 10개 - useFadeIn (0) | 2021.04.30 |
[리액트 공부] 노마드 코더, 실전형 리액트 Hooks 10개 - usePreventLeave (0) | 2021.04.29 |
[리액트 공부] 노마드 코더, 실전형 리액트 Hooks 10개 - useBeforeLeave (0) | 2021.04.29 |
댓글