При попытке отладки React Native в веб-браузере я не вижу ни одного имени компонента. Будь то через стандартный браузер DevTools или расширение браузера React (Component), я не вижу никаких ссылок на имена компонентов или даже имена классов.
Имена компонентов запутаны с помощью View
, Anonymous
, Screen
и т. д. в расширении React. Частично это то, как код написан с использованием компонентов React Native по умолчанию View
и Screen
. Но я ожидаю увидеть вложенные дочерние компоненты.
Класс CSS представлен в формате css-xyz123
, по-видимому, не связанном с их реальными именами компонентов и классов.
Кто-нибудь знает, почему это происходит или как сделать имена компонентов видимыми для веб-отладки? Я рассмотрел несколько причин:
- Как написаны компоненты (функциональные компоненты, часто обёрнутые наблюдателями Mobx)
- Настройки компилятора Babel
- Другие мини-игры или настройки сборки React Native
Спасибо!
Спасибо за ответ и предложения, @bvaughn! Мне нравится идея с
forwardRef
и анонимными функциями. К сожалению, этотconst Component = React.forwardRef
не кажется виновником, поскольку я не используюforwardRef
. Для справки, вот несколько примеров структур объявления компонентов, которые я часто использую. Пример 1, наблюдатель Mobxexport const MyComponentMemo = observer(function MyComponentMemo_({ etc }: MyComponentProps) {
Пример 2,export const MyListView = ({ sort }: MyListViewProps) => {
Пример 3,export const MyComponent = ({ prop1, prop2 }: MyComponentProps) => {