#reactjs #react-proptypes
#reactjs #react-proptypes
Вопрос:
Как мне проверить, имеет ли переданный prop тип File, используя Proptypes?
PropTypes.instanceOf(File)
сбой при использовании ReferenceError: File is not defined
Примечание: new File()
конструктор и typeOf someVar === File
не выдают указанную ошибку ссылки
Комментарии:
1.
PropTypes.instanceOf(File)
у меня сработало…
Ответ №1:
Исходя из этого: https://www.w3.org/TR/FileAPI/#file-section Итак, что вы могли бы сделать, так это проверить, есть ли у объекта свойство name, которое является строкой: что-то вроде этого:
const isFile = function(props, propName, componentName) {
const retVal = typeof props[propName].name == 'string';
return new Error(
`Invalid prop ${propFullName} supplied to ${componentName}. It is not a File.`
);
}
Component.propTypes = {
onClick: isFile(1)
}