import React, { Component } from 'react'; import ReactDOM from 'react-dom'; import { Button, Dropdown } from 'react-bootstrap'; import { toast } from 'react-toastify'; import Axios from 'axios'; export default class Backup extends Component { backup = (format) => { var url = 'api/backup?format=' + format; toast.info('Your backup has started downloading...'); Axios.get(url, { responseType: 'blob' }) .then((resp) => { var a = document.createElement('a'); a.href = url; a.download = ""; document.body.appendChild(a); a.click(); a.remove(); toast.success('Backup downloaded'); }) .catch((err) => { console.log(err); }) } render() { return ( Backup { this.backup('json') }}>JSON { this.backup('csv') }}>CSV ); } } if (document.getElementById('Backup')) { ReactDOM.render(, document.getElementById('Backup')); }