Flow не учитывает требуемые реквизиты для связанных компонентов высшего порядка (HOC) - PullRequest
0 голосов
/ 26 августа 2018

У меня возникла проблема с компонентами более высокого порядка и типом потока.

В частности, у нас есть компонент, у которого есть требуемая опора - назовем его requiredProp.Когда мы обертываем этот компонент компонентом высшего порядка (HOC), мы ожидаем, что обернутый компонент сохранит «обязательность» requiredProp.

Мы проверяем это поведение на 3 HOC: (1) react-reduxconnect, (2) @material-ui withStyles и (3) пользовательский HOC.Действительно, это поведение сохраняется.

Однако, когда мы обертываем компонент любой комбинацией этих 3 HOC, «обязательность» requiredProp исчезает.

В частности, когда мы переносимнаш компонент с connect, затем withStyles, мы получаем ошибку.Когда мы обертываем наш компонент с помощью withStyles, а затем connect, поток больше не возвращает ошибку, если не указано requiredProp, что является неправильным.Наконец, когда мы заключаем наш пользовательский компонент в connect, затем withStyles и, наконец, в наш собственный HOC, поток также больше не возвращает ошибку, если requiredProp не предоставлено.

Я продемонстрировал этокод в этом хранилище: https://github.com/jmtoung/flow-hoc-issue

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...