Skip to content

Upgrading react-dropzone 16 to 17

Breaking16.0.0 → 17.0.0Breaking2Changed2

BreakingUpgrade verdict

1 breaking change.

  • Runtime prop validation and legacy default props are gone; defaults now come from default parameter values and types come from TypeScript.
1 item needs code or config changes

Drops prop-types.

Installs 3 packages in all (was 8).

Breaking1
Removes prop-types and defaultProps in favor of TypeScript types and default parameter values.
prop-typesdefaultProps

Generated by DepDelta from published .d.ts files. Not mixed with prose notes.

  • added: const default: React.ForwardRefExoticComponent<DropzoneProps & React.RefAttributes<DropzoneRef>>
  • added: enum ErrorCode
  • added: export { FileWithPath }
  • added: function useDropzone(props?: DropzoneOptions): DropzoneState
  • added: index Accept[key: string]: readonly string[]
  • added: index DropzoneRootProps[key: string]: any
  • added: interface Accept
  • added: interface DropzoneInputProps extends React.InputHTMLAttributes<HTMLInputElement>
  • added: interface DropzoneProps extends DropzoneOptions
  • added: interface DropzoneRef
  • added: interface DropzoneRootProps extends React.HTMLAttributes<HTMLElement>
  • added: interface FileError
  • added: interface FileRejection
  • added: member ErrorCode.FileInvalidType = 'file-invalid-type'
  • added: member ErrorCode.FileTooLarge = 'file-too-large'
  • added: member ErrorCode.FileTooSmall = 'file-too-small'
  • added: member ErrorCode.TooManyFiles = 'too-many-files'
  • added: property DropzoneInputProps.refKey?: string
  • added: property DropzoneProps.children?: (state: DropzoneState) => React.ReactElement
  • added: property DropzoneRef.open: () => void
  • added: property DropzoneRootProps.refKey?: string
  • added: property FileError.code: ErrorCode | string
  • added: property FileError.message: string
  • added: property FileRejection.errors: readonly FileError[]
  • added: property FileRejection.file: FileWithPath
  • added: type DropEvent = React.DragEvent<HTMLElement> | React.ChangeEvent<HTMLInputElement> | DragEvent | Event | Array<FileSystemFileHandle>
  • added: type DropzoneOptions = Pick<React.HTMLProps<HTMLElement>, SharedProps> & { accept?: Accept; minSize?: number; maxSize?: number; maxFiles?: number; preventDropOnDocument?: boolean; no…
  • added: type DropzoneState = DropzoneRef & { isFocused: boolean; isDragActive: boolean; isDragAccept: boolean; isDragReject: boolean; isDragGlobal: boolean; isFileDialogActive: boolean; ac…
  • removed: default function Dropzone(props: DropzoneProps & React.RefAttributes<DropzoneRef>): React.ReactElement
  • removed: enum ErrorCode
  • removed: export { FileWithPath }
  • removed: function useDropzone(options?: DropzoneOptions): DropzoneState
  • removed: index Accept[key: string]: readonly string[]
  • removed: index DropzoneRootProps[key: string]: any
  • removed: interface Accept
  • removed: interface DropzoneInputProps extends React.InputHTMLAttributes<HTMLInputElement>
  • removed: interface DropzoneProps extends DropzoneOptions
  • removed: interface DropzoneRef
  • removed: interface DropzoneRootProps extends React.HTMLAttributes<HTMLElement>
  • removed: interface FileError
  • removed: interface FileRejection
  • removed: member ErrorCode.FileInvalidType = 'file-invalid-type'
  • removed: member ErrorCode.FileTooLarge = 'file-too-large'
  • removed: member ErrorCode.FileTooSmall = 'file-too-small'
  • removed: member ErrorCode.TooManyFiles = 'too-many-files'
  • removed: method DropzoneProps.children?(state: DropzoneState): React.ReactElement
  • removed: property DropzoneInputProps.refKey?: string
  • removed: property DropzoneRef.open: () => void
  • removed: property DropzoneRootProps.refKey?: string
  • removed: property FileError.code: ErrorCode | string
  • removed: property FileError.message: string
  • removed: property FileRejection.errors: readonly FileError[]
  • removed: property FileRejection.file: FileWithPath
  • removed: type DropEvent = React.DragEvent<HTMLElement> | React.ChangeEvent<HTMLInputElement> | DragEvent | Event | Array<FileSystemFileHandle>
  • removed: type DropzoneOptions = Pick<React.HTMLProps<HTMLElement>, PropTypes> & { accept?: Accept; minSize?: number; maxSize?: number; maxFiles?: number; preventDropOnDocument?: boolean; noCl…
  • removed: type DropzoneState = DropzoneRef & { isFocused: boolean; isDragActive: boolean; isDragAccept: boolean; isDragReject: boolean; isDragGlobal: boolean; isFileDialogActive: boolean; ac…