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

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

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

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

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

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

Похожие вопросы
ITK academy Нижний Новгород
от 80 000 до 120 000 ₽
ITK academy Воронеж
от 50 000 до 90 000 ₽