Basic setup with React Hooks
masterTo implement FilePond in a functional component using Hooks, follow these steps:
- Import
FilePondandregisterPluginfromreact-filepond. - Import the core FilePond CSS:
filepond/dist/filepond.min.css. - (Optional) Install and import FilePond plugins (e.g.,
filepond-plugin-image-preview) along with their respective CSS. - Use
registerPluginto activate the plugins. - Use the
<FilePond />component, managing the file state viaonupdatefiles.
import React, { useState } from 'react'
import ReactDOM from 'react-dom'
// Import React FilePond
import { FilePond, registerPlugin } from 'react-filepond'
// Import FilePond styles
import 'filepond/dist/filepond.min.css'
// Import the Image EXIF Orientation and Image Preview plugins
// Note: These need to be installed separately
// `npm i filepond-plugin-image-preview filepond-plugin-image-exif-orientation --save`
import FilePondPluginImageExifOrientation from 'filepond-plugin-image-exif-orientation'
import FilePondPluginImagePreview from 'filepond-plugin-image-preview'
import 'filepond-plugin-image-preview/dist/filepond-plugin-image-preview.css'
// Register the plugins
registerPlugin(FilePondPluginImageExifOrientation, FilePondPluginImagePreview)
// Our app
function App() {
const [files, setFiles] = useState([])
return (
<div className="App">
<FilePond
files={files}
onupdatefiles={setFiles}
allowMultiple={true}
maxFiles={3}
server="/api"
name="files" /* sets the file input name, it's filepond by default */
labelIdle='Drag & Drop your files or <span class="filepond--label-action">Browse</span>'
/>
</div>
)
}