Задать вопрос
@Cruper
web-падаван

Singleton компонент на реакте?

Предоставляет ли реакт какие-нибудь механизмы для создания singleton компонента?
Чтобы вставить такие компоненты на странице, но смонтировать только один
Пробовал обернуть компонент в хок, который возвращал бы только один экземпляр
export function withSingleton (Component) {
  let instance = null;
  return (props) => {
    if (!instance) {
      instance = <Component {...props} />
    }
    return instance;
  }
}

Но глаза уже замылились и требуется взгляд со стороны
  • Вопрос задан
  • 2002 просмотра
Подписаться 1 Средний 1 комментарий
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Мидл фронтенд-разработчик
    5 месяцев
    Далее
  • Javascript.ru
    Курс по React
    5 недель
    Далее
  • Нетология
    Fullstack-разработчик на Python + нейросети
    20 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 1
GreyCrew
@GreyCrew
Full-stack developer
Нет, такого функционала в реакте нет.
Но можно самому попробовать сделать, я вижу 2 варианта - через Redux и через DOM
1) В сторе создаете булевый объект, по названию компонента, и при монтировании делаете проверку - false, иначе компонент не выводите.
2) В компоненте задайте идентификатор, и перед монтированием смотрите, существует ли такой же идентификатор, иначе не монтируйте.

Сколько слушаю о паттернах - все чаще слышу о том, что синглтон уже моветон, но мне кажется все зависит от применения.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
ITK academy Нижний Новгород
от 50 000 до 90 000 ₽
IT ATLAS Москва
от 200 000 до 250 000 ₽
ITK academy Казань
от 50 000 до 90 000 ₽