Definitelytyped: [@ types / response]: React.Fragment не имеет никаких конструкций или сигнатур вызовов.

Созданный на 3 дек. 2017  ·  3Комментарии  ·  Источник: DefinitelyTyped/DefinitelyTyped

  • [x] Я пробовал использовать пакет @types/react , и у меня возникли проблемы.
  • [x] Я пробовал использовать последнюю стабильную версию tsc. https://www.npmjs.com/package/typescript
  • [x] У меня вопрос, который не подходит для StackOverflow . (Пожалуйста, задавайте там любые уместные вопросы).
  • [x] [Упоминание] (https://github.com/blog/821-mention-somebody-they-re-notified) авторов (см. Definitions by: в index.d.ts ), чтобы они могли реагировать.

    • Авторы: @uniqueiniquity , @tkrotoff , @vsiao ,

Было некоторое обсуждение правильного типа React.Fragment в # 21146, но хотя symbol | number может точно отражать внутренний тип React для Fragment , это предотвращает React.Fragment от использования в качестве элемента TSX.

<React.Fragment> // error here: React.Fragment does not have any construct or call signatures
  <div>Child 1</div>
  <div>Child 2</div>
</React.Fragment>

Я понимаю, что мы можем визуализировать фрагменты, используя синтаксис <></> , но в документации React указано, что это просто снижает уровень сахара до <React.Fragment></React.Fragment> и что это единственный способ добавить ключи к фрагменту .

Поэтому я думаю, что тип React.Fragment следует изменить на что-то более близкое к React.ComponentType<{}> , что даст ему key и children props.

Я могу открыть пиар, если люди согласятся с этим предложением.

Самый полезный комментарий

@uniqueiniquity Звучит хорошо. У меня есть ветка, готовая к работе, если исправить ее в TS невозможно / нецелесообразно.

Все 3 Комментарий

Спасибо, что поймали это, @jgoz!
Я думаю, что для нас лучше было бы исправить это на стороне TypeScript, а не изменять тип React.Fragment чтобы обойти поведение компилятора.
Я изучу это и посмотрю, лучший ли это подход.

@uniqueiniquity Звучит хорошо. У меня есть ветка, готовая к работе, если исправить ее в TS невозможно / нецелесообразно.

@jgoz Давай, открой PR. После некоторого обсуждения здесь кажется, что на данный момент у вас есть правильный подход.

Была ли эта страница полезной?
0 / 5 - 0 рейтинги