Есть ли способ использовать собственный класс компонента, который расширяет React.Component без необходимости импорта реакции в каждом файле? - PullRequest
0 голосов
/ 27 апреля 2020

Я создал свой собственный абстрактный класс машинописи, который расширяет React.Component. Я хочу использовать этот класс в качестве основы для каждого компонента в моем приложении. Однако это не сработает, если я не добавлю оператор импорта React - синтаксис JSX выдает ошибку.

Я хотел бы полностью абстрагировать React.Component и использовать свой собственный базовый класс, поэтому, возможно, в Будущее я хотел бы переключиться с реакции на что-то другое. Требуемый оператор импорта делает его немного громоздким.

Может быть, есть способ импортировать что-то глобально в машинописном тексте или любое другое решение для этого?

Я не использую webpack или babel как это отдельные, многоразовые пакеты в моем lerna monorepo.

1 Ответ

1 голос
/ 27 апреля 2020

Всякий раз, когда вы пишете что-то вроде <div>, JSX Factory преобразует JSX в допустимый вызов функции JavaScript / TypeScript, в данном случае React.createElement('div', ...

Это хорошо объяснено в JSX Введение на React. js веб-сайт.

Итак, как вы можете видеть React следует быть определенным, так как он вызывается в вашем коде. Если вы хотите переключиться на что-то другое, вам нужно изменить фабричную функцию jsx на так называемую pragma, то есть заменить React в компиляции JSX, и заменить импорт.

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