Podemos mostrar el porcentaje de carga o descarga en ReactJS usando el componente CircularProgress con alguna lógica central para mostrar el porcentaje. Material UI para React tiene este componente disponible para nosotros y es muy fácil de integrar. Podemos hacerlo con ReactJS usando el siguiente enfoque.
Creación de la aplicación React e instalación del módulo:
Paso 1: Cree una aplicación React usando el siguiente comando.
npx create-react-app foldername
Paso 2: después de crear la carpeta de su proyecto, es decir , el nombre de la carpeta , acceda a ella con el siguiente comando.
cd foldername
Paso 3: Después de crear la aplicación ReactJS, instale los módulos material-ui usando el siguiente comando.
npm install @material-ui/core
App.js: ahora escriba el siguiente código en el archivo App.js. Aquí, la aplicación es nuestro componente predeterminado donde hemos escrito nuestro código.
Javascript
import React from 'react'; import Box from '@material-ui/core/Box'; import CircularProgress from '@material-ui/core/CircularProgress'; export default function App() { const [uploadOrDownloadCount, setUploadOrDownloadCount] = React.useState(10); React.useEffect(() => { const timer = setInterval(() => { setUploadOrDownloadCount( (beforeValue) => (beforeValue >= 100 ? 0 : beforeValue + 10)); }, 800); return () => { clearInterval(timer); }; }, []); return ( <div> <h4>How to show upload/download percentage in ReactJS?</h4> <Box position="relative" display="inline-flex"> <CircularProgress variant="determinate" value={uploadOrDownloadCount} /> <Box bottom={0} right={0} top={0} justifyContent="center" left={0} display="flex" alignItems="center" position="absolute" > {`${Math.round(uploadOrDownloadCount)}%`} </Box> </Box> </div> ); }
Paso para ejecutar la aplicación: ejecute la aplicación utilizando el siguiente comando desde el directorio raíz del proyecto:
npm start
Salida: Ahora abra su navegador y vaya a http://localhost:3000/ , verá la siguiente salida.
Publicación traducida automáticamente
Artículo escrito por gouravhammad y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA