1.3.0 • Published 2 years ago

@rpopov94/react-document-visibility v1.3.0

Weekly downloads
-
License
ISC
Repository
github
Last release
2 years ago

Тестовые задания на реализацию npm модулей

Реализуем на github, публикуем в npm под названием @имя-вашего-npm-пользователя/название-пакета, например @vasya228/react-use

React - useDocumentVisibility

Стек: React, typescript (опционален), сборка - microbundle/rollup

Надо реализовать react hook, который

  • скажет, активна (видна) ли сейчас вкладку браузера
  • скажет, сколько раз с момента инициализации компонента вкладка становилась неактивной (невидимой)
  • предоставит функцию, в которой можно подписаться на изменение активности (видимости) текущей вкладки

Замечание: речь про "вкладка активна(видна)/неактивна", а не "вкладка в фокусе/не фокусе", это важно.

Пример работы хука

useDocumentVisibility.js

import React from 'react';
import { useDocumentVisibility } from '@my-npm-user/react-document-react-visibility';

const LeaveTabCounter = () => {
  const { count, visible, onVisibilityChange } = useDocumentVisibility();

  useEffect(() => {
    onVisibilityChange((isVisible) => {
      console.log('first handler', isVisible);
    });
    onVisibilityChange((isVisible) => {
      console.log('second handler', isVisible);
    });
  }, []);

  return (
    <div>
      <span>
        Вы покинули страницу: {count} раз Вкладка активна? {visible ? 'да' : 'нет'}
      </span>
    </div>
  );
};
1.3.0

2 years ago

1.2.9

2 years ago

1.2.8

2 years ago

1.2.7

2 years ago

1.2.6

2 years ago

1.2.5

2 years ago

1.2.4

2 years ago

1.2.3

2 years ago

1.2.2

2 years ago

1.2.1

2 years ago

1.2.0

2 years ago

1.1.9

2 years ago

1.1.8

2 years ago

1.1.7

2 years ago

1.1.6

2 years ago