Инструменты React Dev показывают мой компонент как неизвестный
У меня есть следующий простой компонент:
import React from 'react'
import '../css.scss'
export default (props) => {
let activeClass = props.out ? 'is-active' : ''
return (
<div className='hamburgerWrapper'>
<button className={'hamburger hamburger--htla ' + activeClass}>
<span />
</button>
</div>
)
}
Когда я ищу его в инструментах реагирования dev, я вижу:
![введите описание изображения здесь]()
Это потому, что мне нужно расширить компонент React? Мне нужно создать это как переменную и сделать это?
Ответы
Ответ 1
Это происходит, когда вы экспортируете анонимную функцию в качестве своего компонента. Если вы назовете функцию (компонент) и затем экспортируете ее, она будет правильно отображаться в инструментах React Dev.
const MyComponent = (props) => {}
export default MyComponent;
Ответ 2
В настоящее время нет никакого способа изменить его, чтобы он отображался как <Unknown>
в инспекторе devtools, без указания имени функции перед ее экспортом, как сказал Майкл. Но если эта проблема GitHub будет решена, возможно, в будущем.
https://github.com/facebook/react-devtools/issues/1294
Ответ 3
Чтобы добавить к ответу Михаэля Ясперса, если вы хотите использовать именованный импорт (вместо экспорта по умолчанию), вы можете сделать так:
const MyComponent = props => <div />
export { MyComponent }
Компонент будет отображаться в React DevTools с правильным именем.
Примечание. Если вы экспортировали выражение напрямую:
export const MyComponent = props => <div />
Это будет показано как Anonymous
или Unknown
в React DevTools