Вам предоставляется следующий код компонента React, который является частью большого проекта. Задача состоит в том, чтобы проанализировать данный код и выполнить его рефакторинг с целью улучшения его читаемости, производительности и поддерживаемости.
- Упрощение логики.
- Оптимизация производительности.
- Улучшение структуры.
- Обработка ошибок и граничных случаев.
Компонент нельзя удалять, потому что предполагается, что он должен быть абстрактным для применения и построения форм. Api компонента UniversalInput должно позволять использовать все варианты перечисленных в нем инпутов.
- Нужно, чтобы данные инпутов хранились в localStorage.
- Необходима синхронизация между вкладками через localStorage.
Синхронизация данных между вкладками означает, что изменения, внесенные в данные инпутов в одной вкладке браузера, должны автоматически отображаться в других вкладках.
- Отрефакторенный код, соответствующий указанным задачам.
- Решение с готовым кодом в репозитории на git hub/архивом.