НОВЫЙ / ИЗДАННЫЙ ОТВЕТ (по состоянию на апрель 2020 года):
В настоящее время ответ остается прежним, ниже (ie. create-react-app
не может поддержка глобальная React
). Тем не менее, никто иной, как сам Дан Абрамов, недавно ответил на тему GitHub :
Запланированные изменения в преобразовании JSX сделают его автоимпортом React. В этом мире ваше глобальное решение не будет работать, но оно решит проблему, которая вас раздражает.
Итак, хорошая новость заключается в том, что команда React планирует представить решение для проблема, которая потребует даже меньше работы, чем необходимость создания глобальной переменной!
СТАРЫЙ ОТВЕТ:
Ответ, как представляется, create-react-app
использует правило ESLint: https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/react-in-jsx-scope.md
Как сказано в нижней части этого правила:
Если вы устанавливаете React как глобальную переменную, вы может отключить это правило
... но по какой-то причине create-react-app
люди не решили отчитываться за это.
Но я бы хотел ошибиться в этом , и с радостью удалит этот ответ, если кто-нибудь сможет предоставить рабочий.
PS Довольно интересно, что в этой теме https://github.com/facebook/create-react-app/issues/4281 они фактически предоставляют шаблон для настройки React глобально, но когда я следую их шаблон (с импортом './globals'
вверху) я все еще получаю ошибку ... опять, вероятно, потому что ESLint не знает об этом.
PPS: я подал https://github.com/facebook/create-react-app/issues/8643, в надежде, что команда create-react
по крайней мере захочет ответить, почему они раньше Позволь этому и не делай больше. В идеальном мире они предложат новый способ, но они могут просто сказать «не используйте React globals». В любом случае, я добавлю «PPPS», когда они ответят.