Как работает система экспорта в библиотеках по типу React и React Native?
Весь вопрос в том, как получается так, что передается тип, при нажатии с ctrl происходит переход в ts файл, но по итогу в разметку мы размещаем именно компонент. Я знаю как этого добиться через типизацию функционального компонента или функцию. Но через классовый компонент у меня такого поведения добиться не получается, так как у react свой способ с импортом, в котором я к сожалению сам не смог разобраться. В пример отнесу FlatList из React Native, типизацию беру по примеру от туда и разбираюсь в ней. FlatList при импорте отображает класс которые в ts, но на деле это же компонент. Спасибо
iljaGolubev, Что именно не ясно? Уточню, я пытаюсь добиться результата в будущем, чтобы я или мои коллеги, при попытке нажатия по компоненте + ctrl проваливались в ts файл с типами. В случае с FlatList ts и js файлы почти никак не связаны, но перебрасывает в ts файл. Даже если посмотреть что приходит из импорта, то видно что vs code ссылается именно на тип, а не на компонент, чем этот класс и является.
Могу приложить видео но не умею его сюда вставлять(
Solevoy_2015,
Насколько я знаю за возможность провалиться куда-либо в VsCode
отвечает механизм Language Server Protocol LSP
Вот например статья на тему, в общем смысле. https://habr.com/ru/articles/555502/
Думаю немного света моя подсказка добавит к проблеме.
А там уже вам самому разбираться как на уровне LSP воспринимаются старые компоненты и
почему не работает переход.
react-native в раckage.json прописано где искать типы. IDE при работе с typescript "понимает" где искать описание компонента.
При сборке ("на деле") проекта - импортируется сам компонент а не его описание.
Делайте свои компоненты как пакеты (библиотеку пакетов).
iljaGolubev, Нашел, спасибо за ответ. Это подталкивает разобраться в том как правильно формировать библиотеки или просто серьезные и объемные компоненты, разбитые по частям