Я не могу понять, почему этот импорт или любое другое не работает:
import * as React from 'react';
import TextField from '@material-ui/core/TextField';
import * as PropTypes from 'prop-types';
import { withStyles } from '@material-ui/core/styles';
//import { PropTypes } from '@material-ui/core';
interface IProps {
value: string;
onChange?: PropTypes.func;
}
const textField = (props: IProps) => {
return (
<div>HI</div>
);
};
export default textField;
Ошибка, которую я получаю:
ts-app/node_modules/@types/prop-types/index "'не имеет функции-члена экспортированного члена' func '
Я смотрю в этом файле, и, похоже, у него такой член:
export const func: Requireable<(...args: any[]) => any>;
возможно, однажды я пойму Реакт и как будут работать эти зависимости, спасибо!
PropTypes.func
- это значение (предназначенное для использования в свойстве propTypes
компонента функции без состояния или статического свойства класса компонента), но вы пытаетесь использовать его как тип. Вместо этого вы можете вручную написать базовый тип:
onChange?: (...args: any[]) => any;
или, надеюсь, более конкретный, подходящий для вашей заявки.
Я подал сообщение об ошибке для сообщения об ошибке.
Попробуй это
import PropTypes from 'prop-types';
Причина в том, что этот синтаксис:
import * as PropTypes from 'prop-types';
запрашивает объект со всем указанным экспортом prop-types
.
Однако это не так, как строится пакет prop-types
. Мы должны использовать синтаксис:
import PropTypes from 'prop-types';
который запрашивает экспорт prop-types
по умолчанию. Пакет prop-types
фактически использует синтаксис default export
по default export
.
Для получения дополнительной информации: Разница между импортом X и импортом * как X в node.js(ES6/Babel)?