Не могу получить функцию от PropTypes

2

Я не могу понять, почему этот импорт или любое другое не работает:

    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>;

возможно, однажды я пойму Реакт и как будут работать эти зависимости, спасибо!

Теги:
material-ui
react-proptypes

2 ответа

1
Лучший ответ

PropTypes.func - это значение (предназначенное для использования в свойстве propTypes компонента функции без состояния или статического свойства класса компонента), но вы пытаетесь использовать его как тип. Вместо этого вы можете вручную написать базовый тип:

onChange?: (...args: any[]) => any;

или, надеюсь, более конкретный, подходящий для вашей заявки.

Я подал сообщение об ошибке для сообщения об ошибке.

0

Попробуй это

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)?

  • 2
    спасибо за ваш ответ, этот конкретный импорт был тем, что я пытался изначально, но он дал мне ошибку: node_modules / @types/prop-types/index"&# types / prop-types / index "'не имеет экспорта по умолчанию

Ещё вопросы

Сообщество Overcoder
Наверх
Меню