IntelliSense не отображает реквизиты, которые принимают компоненты в моей библиотеке React. Библиотека входит в модуль UMD с Webpack (если это имеет значение).
Вот как это выглядит в моей среде IDE, когда я пытаюсь увидеть, какие свойства принимает компонент:
По сравнению с другими элементами / компонентами ...
Как заставить IntelliSense работать с моими компонентами?
Я считаю, что IntelliJ использует propTypes для сбора этой информации, вы устанавливаете это для Player?
@MTCoster Привет, да. Я установил propTypes для компонента Player. Похоже, что IntelliSense не работает после объединения библиотеки и импорта ее в новый проект.
Вам может потребоваться создать файл определения TypeScript (index.d.ts), чтобы сообщить IntelliJ о вашей библиотеке.



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Поздно на вечеринку, но, надеюсь, это кому-то поможет.
У меня была та же проблема с моей библиотекой компонентов, которую я создавал с помощью свертки.
Я использовал @ babel / plugin-offer-class-properties и писал такие классы:
import React, { PureComponent } from 'react'
import PropTypes from 'prop-types'
export default class Alert extends PureComponent {
static propTypes = {
type: PropTypes.oneOf(['success', 'info', 'warning', 'danger']),
title: PropTypes.string,
}
render() {
const { type, children } = this.props
return (
<div>
<h3>{title}</h3>
{children &&
<div className = "alert-content">
{children}
</div>
}
</div>
)
}
}
В моем скомпилированном файле для определения propTypes использовался defineProperty следующим образом:
_defineProperty(Alert, "propTypes", {
type: PropTypes.oneOf(['success', 'info', 'warning', 'danger']),
title: PropTypes.string
});
Установив опцию loose: true в плагине babel, мне удалось превратить его в это, и intellisense работал в IntelliJ:
Alert.propTypes = {
type: PropTypes.oneOf(['success', 'info', 'warning', 'danger']),
title: PropTypes.string
};
Мой .babelrc
{
"plugins": [
["@babel/plugin-proposal-class-properties", { "loose": true }]
]
}
Nitpick: Судя по вашим скриншотам, это вопрос о IDE семейства IntelliJ; IntelliSense - это функция Visual Studio (и VS Code).