React PropTypes 文件类型

React PropTypes File type

如何使用 Proptypes 检查传递的 prop 是否为 File 类型?

正在使用 PropTypes.instanceOf(File) 失败 ReferenceError: File is not defined

注意: new File() 构造函数和 typeOf someVar === File 不抛出提到的引用错误

源于此: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) 
}