¿Cómo crear un componente de marcación rápida en ReactJS?

Material-UI Lab alberga componentes nuevos y emocionantes que no están completamente listos para la biblioteca principal. Un componente de marcación rápida es como un cuadro de diálogo con varios botones de acción flotantes. Se puede usar para hacer que cualquier acción principal, como compartir, copiar, imprimir, etc., sea más accesible y mejore la experiencia del usuario.

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 gfg
  • Paso 2: después de crear la carpeta de su proyecto, es decir, gfg , acceda a ella con el siguiente comando:

    cd gfg
  • 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
    npm install @material-ui/icons
    npm install @material-ui/lab
  • Cree un archivo socials.js en la carpeta src : crearemos un componente de ejemplo ‘Sociales’ que muestra todos los identificadores sociales del sitio web utilizando el componente Marcado rápido. Cree un nuevo archivo socials.js en la carpeta src donde definiremos nuestro componente.

    Estructura del proyecto: Tendrá el siguiente aspecto.

    Marcación rápida en Material-UI:

    El componente Marcación rápida se puede utilizar para mostrar varias acciones principales juntas como botones de acción flotantes. Algunos de sus accesorios útiles:

    • oculto: para establecer si SpeedDial estaría oculto o visible
    • dirección: establece la dirección del botón de acción flotante, es decir, arriba, abajo, derecha e izquierda.
    • icono: Icono de SpeedDial
    • onOpen/onClose: funciones de controlador para cuando SpeedDial se expande y se cierra.

    Ejemplo:

    socials.js

    import React from 'react';
    import SpeedDial from '@material-ui/lab/SpeedDial';
    import SpeedDialIcon from '@material-ui/lab/SpeedDialIcon';
    import SpeedDialAction from '@material-ui/lab/SpeedDialAction';
    import InstagramIcon from '@material-ui/icons/Instagram';
    import GitHubIcon from '@material-ui/icons/GitHub';
    import LinkedInIcon from '@material-ui/icons/LinkedIn';
    import TwitterIcon from '@material-ui/icons/Twitter';
    import EditIcon from '@material-ui/icons/Edit';
      
    const style = {
        margin: 0,
        right: 20,
        bottom: 20,
        position: 'fixed',
    };
      
    const actions = [
        { icon: <GitHubIcon style={{ fill: '#000000' }} />, 
        name: 'GitHub', link: "https://www.google.com/" },
        { icon: <LinkedInIcon style={{ fill: '#000000' }} />, 
        name: 'LinkedIn', link: "https://www.google.com/" },
        { icon: <TwitterIcon style={{ fill: '#000000' }} />, 
        name: 'Twitter', link: "https://www.google.com/" },
        { icon: <InstagramIcon style={{ fill: '#000000' }} />, 
        name: 'Instagram', link: "https://www.google.com/" },
    ];
      
    export default function Socials() {
        const [open, setOpen] = React.useState(false);
        const handleOpen = () => {
            setOpen(true);
        };
      
        const handleClose = () => {
            setOpen(false);
        };
        return (
            <div>
                <SpeedDial
                    ariaLabel="SpeedDial openIcon example"
                    style={style}
                    hidden={false}
                    icon={<SpeedDialIcon openIcon={<EditIcon />} />}
                    onClose={handleClose}
                    onOpen={handleOpen}
                    open={open}
                >
                    {actions.map((action) => (
                        <SpeedDialAction
                            key={action.name}
                            icon={action.icon}
                            tooltipTitle={action.name}
                            onClick={handleClose}
                            href={action.link}
                        />
                    ))}
                </SpeedDial>
            </div>
        );
    }
    

    App.js

    import React, { Component } from 'react';
    import CssBaseline from '@material-ui/core/CssBaseline';
    import Container from '@material-ui/core/Container';
    import Typography from '@material-ui/core/Typography';
    import Socials from './socials';
      
    class App extends Component {
        render() {
            return (
                <React.Fragment>
                    <CssBaseline />
                    <br></br>
                    <Container maxWidth="sm">
                        <Typography component="h1" variant="h1" 
                        align="center" gutterBottom>
                            Geeks for Geeks
                        </Typography>
                        <br />
                        <Typography component="h3" variant="h3" 
                        align="center" gutterBottom>
                            Speed Dial Demo
                        </Typography>
                    </Container>
                    <br /><br />
                    <Socials></Socials>
                </React.Fragment>
            );
        }
    }
      
    export default App;
    

    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 abhijeetcatches33 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

    Deja una respuesta

    Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *