React HigherOrderComponents в сочетании с flowtype

У меня возникла небольшая проблема с пониманием компонентов высшего порядка Reacts в сочетании с flowtype и Props.

У меня есть 2 вида HOC:

Компонент внутри модального окна:

inModal() => React.Component<{modal: Modal}>

В этом HOC просто создайте новый модальный (некоторая логика без реакции, я уже реализовал) и передайте модальный объект как свойство данному компоненту (чтобы я мог получить доступ к обработчикам закрытия и так далее внутри моего компонента).

Компонент, защищенный аутентификацией:

needsAuthentication() => React.Component<{auth: Authentication}>

Таким образом, я могу предоставить некоторые важные функции, такие как отключение учетной записи и т. д., И повторно использовать процесс аутентификации для нескольких компонентов.

Теперь они оба работают. И мне удалось собрать эти 2 вместе, написав:

inModal(needsAuthentication(DisableAccount))

Моя проблема в том, что inModal нужен компонент, способный обрабатывать свойство, называемое «модальным», а needAuthentication требуется, чтобы компонент мог обрабатывать свойство «auth». До сих пор это было нормально, потому что я всегда использовал эти 2 HOC в комбинации. Но теперь я создаю компомент, который не работает внутри модального окна, но требует аутентификации.

Здесь моя проблема с пониманием HOC и flowtype становится реальной проблемой.

Я создал новый компонент, которому необходимо передать свойство, но я не могу определить свои потребности Authentication HOC, чтобы вернуть компонент, принимающий это конкретное свойство, поскольку это нарушит все остальное. Я мог бы сделать свой новый компонент способным обрабатывать модальное свойство и проложить себе путь через эти джунгли, но я бы предпочел попытаться действительно полностью разобраться в этом вопросе.

Я посмотрел на это, но мой уровень разочарования / замешательства уже очень высок, поэтому я не могу понять все это.

Это должно продемонстрировать мою проблему

Я был бы очень рад, если бы кто-нибудь помог мне разобраться.

Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Массив зависимостей в React
Массив зависимостей в React
Все о массиве Dependency и его связи с useEffect.
0
0
39
1

Ответы 1

Как видно из здесь, это можно сделать, используя магический тип «любой». Но это похоже на использование «кувалды». Так что я пока не принимаю это.

Другие вопросы по теме