@types/react
, и у меня возникли проблемы.Definitions by:
в index.d.ts
), чтобы они могли реагировать.Было некоторое обсуждение правильного типа 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.
Я могу открыть пиар, если люди согласятся с этим предложением.
Спасибо, что поймали это, @jgoz!
Я думаю, что для нас лучше было бы исправить это на стороне TypeScript, а не изменять тип React.Fragment
чтобы обойти поведение компилятора.
Я изучу это и посмотрю, лучший ли это подход.
@uniqueiniquity Звучит хорошо. У меня есть ветка, готовая к работе, если исправить ее в TS невозможно / нецелесообразно.
@jgoz Давай, открой PR. После некоторого обсуждения здесь кажется, что на данный момент у вас есть правильный подход.
Самый полезный комментарий
@uniqueiniquity Звучит хорошо. У меня есть ветка, готовая к работе, если исправить ее в TS невозможно / нецелесообразно.