Установите зависимости:
npm install
В файле src/Effects.tsx вам нужно будет создать компонент, который будет отображать название выбранного источника данных и последнее сообщение, которое пришло от источника. Также, этот компонент должен уметь реагировать на изменение источника:
- Постройте компонент, выводящий информацию об источнике. Он будет получать проп
sourceId: string.
Информация должна выводиться в следующем виде:
<Название>: <последнее_сообщение>После смены источника считается, что сообщений от него ещё не было. В этом случае нужно выводить
<Название>: -1- Подпишитесь на изменение статуса пользователя с помощью метода
subscribe(id, callback). В обработчик будет приходить новое сообщение, который нужно отрисовать. - При изменении пользователя нужно отписываться от изменения его статуса с помощью
unsubscribe(id, callback).Функции
subscribe(id, callback)иunsubscribe(id, callback)нужно импортировать изsrc/resources/API.ts
Используйте команду npm run start, чтобы в вашем браузере открылась страница с вашими компонентами, а также парой кнопок, которые помогут вам протестировать поведение. Кнопка Change source переключается между двумя источниками, а кнопка Fire event стреляет событием для ВСЕХ источников.
Тажке, проверить себя можно запустив команду npm run test.
После выполнения задания создайте pull request с решением.