React-fileupload-progress 
 
  React component of Input file and progress bar. This component watch xhr uploading process, and trigger some events.
Installation
npm install --save react-fileupload-progressAPI
FileUploadProgress
 Props
url: File upload endpoint url.React.PropTypes.string.isRequiredmethod: Http request method.React.PropTypes.string.isRequired
Events
These handler will called on XMLHttpRequest's progress events. See also Using XMLHttpRequest on MDN.
-  
onProgress: Called whenxhrwas loaded. Third parameter is the progress of uploading process(0 ~ 100).React.PropTypes.func(e, request, progress) -  
onLoad: Called whenxhrwas loaded.React.PropTypes.func(e, request) -  
onError: Called whenxhrbecome error.React.PropTypes.func(e, request) -  
onAbort: Called whenxhrwas aborted.React.PropTypes.func(e, request) 
Customization
It is possible to customize view and form.
-  
formRenderer: For custom form rendering, Typo is fixed(#4) from v0.2.0onSubmitHandlershould be attach on your custom form's submit event. WhenonSubmitHandleris called, this component start observexhr.React.PropTypes.func(onSubmitHandler) -  
formGetter: If customformRendereris used, you need to implement this method and must returnFormDataobject.React.PropTypes.func => {return form} -  
progressRenderer: For custom progress rendering, First parameter is the progress of uploading process(0 ~ 100). Ifxhrhas error, second parameter will betrue. When third parameter is called, currentxhrwill be aborted.React.PropTypes.func(progress, hasError, cancelHandler) -  
formCustomizer: Called beforexhrsend. You can add any custom form parameter(e.g: id, name, etc) with this method. Must returnformgiven as argument.React.PropTypes.func(form) => {return form} -  
beforeSend: Called beforexhrsend. You can customizexhr(e.g: HTTPHeader, etc) with this method. Must returnrequestgiven as argument.React.PropTypes.func(request) => {return request} 
Usage example
'use strict';  import React from 'react'; import FileUploadProgress  from 'react-fileupload-progress';   class App extends React.Component {   constructor(props) {     super(props);   }   render() {     return (       <div>         <h3>Default style</h3>         <FileUploadProgress key='ex1' url='http://localhost:3000/api/upload'           onProgress={(e, request, progress) => {console.log('progress', e, request, progress);}}           onLoad={ (e, request) => {console.log('load', e, request);}}           onError={ (e, request) => {console.log('error', e, request);}}           onAbort={ (e, request) => {console.log('abort', e, request);}}           />       </div>     )   } };  React.render(<App/>, document.getElementById('out'));See also example
npm install # or yarn npm run start:exampleBuild
npm run buildTests
npm test

