frontend-opensource-project / use-react-hooks

React hoooooooks๐Ÿ˜Ž
5 stars 0 forks source link

[URH-58] useOnlineStatus ์‹ ๊ทœ #47

Closed suhyeoonn closed 3 weeks ago

suhyeoonn commented 1 month ago

๐Ÿ‘พ Pull Request

1๏ธโƒฃ Spec

2๏ธโƒฃ ๋ณ€๊ฒฝ ์‚ฌํ•ญ

3๏ธโƒฃ ์˜ˆ์‹œ ์ฝ”๋“œ

  1. ์ฝœ๋ฐฑ์ด ํ•„์š” ์—†๋Š” ๊ฒฝ์šฐ
    
    import useOnlineStatus from './hooks/useOnlineStatus';

function App() { const { isOnline } = useOnlineStatus();

return (

{isOnline ? 'online' : 'offline'}

); }

2. ์ฝœ๋ฐฑ์ด ํ•„์š”ํ•œ ๊ฒฝ์šฐ
```tsx
function App() {
  const { isOnline } = useOnlineStatus({ onlineCallback, offlineCallback });

  function onlineCallback() {
    console.log('online');
  }

  function offlineCallback() {
    console.log('offline');
  }

  return (
    <div>
      <h1>{isOnline ? 'online' : 'offline'}</h1>
    </div>
  );
}

4๏ธโƒฃ ๊ด€๋ จ ๋ฌธ์„œ (์„ ํƒ ์‚ฌํ•ญ)

Choozii commented 4 weeks ago

@suhyeoonn ์ˆ˜ํ˜„๋‹˜, ๋ฆฌ์•กํŠธ ๊ณต์‹ ๋ฌธ์„œ ์ฝ๋‹ค๊ฐ€ ์ˆ˜ํ˜„๋‹˜๋„ ์•Œ๋ฉด ์ข‹์„๊ฒƒ ๊ฐ™์€ ๋ถ€๋ถ„์„ ๋ฐœ๊ฒฌํ•ด์„œ ๊ณต์œ ๋“œ๋ฆฝ๋‹ˆ๋‹ค! useSyncExternalStore๋ผ๋Š” ํ›…์— navigator.onLine ๊ตฌ๋…ํ•˜๋Š” ์ฝ”๋“œ๊ฐ€ ์˜ˆ์‹œ๋กœ ์žˆ๊ธธ๋ž˜ ๊ณต์œ ๋“œ๋ ค์šฅ!!!

https://ko.react.dev/reference/react/useSyncExternalStore#subscribing-to-a-browser-api