React Suite Nav Extraíble

React suite es una biblioteca de componentes de React, un diseño de interfaz de usuario sensato y una experiencia de desarrollo amigable. Es compatible con todos los principales navegadores. Proporciona componentes preconstruidos de React que se pueden usar fácilmente en cualquier aplicación web.

En este artículo, aprenderemos sobre React Suite Nav Extraíble . Un componente de navegación proporciona una lista de varios tipos de menús de navegación, que pueden ser diseños horizontales y verticales. Un componente extraíble de navegación proporciona la funcionalidad para eliminar un elemento de navegación de la barra de navegación y también puede agregar un elemento nuevo a un componente de navegación.

Creación de la aplicación React e instalación del módulo:

Paso 1: Cree una aplicación React usando el comando dado:

npm create-react-app projectname

Paso 2 : después de crear su proyecto, muévase a él usando el comando dado:

cd projectname

Paso 3: ahora instale el paquete de Nodes rsuite usando el comando dado:

npm install rsuite

Paso 4: Instale el paquete del Node responsive-nav :

npm install --save @rsuite/responsive-nav

Estructura del proyecto: ahora la estructura de su proyecto debería tener el siguiente aspecto:

 

Sintaxis:

// Import statement
import ResponsiveNav from "@rsuite/responsive-nav";

// App.Js file
function App() {
    <ResponsiveNav removable onItemRemove={eventKey...}>
        <ResponsiveNav.Item>...</ResponsiveNav.Item>
        ....
    </ResponsiveNav>
}

Ejemplo 1: este ejemplo demuestra el componente extraíble de navegación.

Javascript

import { useState } from "react";
import "rsuite/dist/rsuite.min.css";
import ResponsiveNav from "@rsuite/responsive-nav";
  
const navItems = [
    { eventKey: "A", label: "Home" },
    { eventKey: "B", label: "Practice" },
    { eventKey: "C", label: "Tutorials" },
    { eventKey: "C", label: "GBlog" },
    { eventKey: "C", label: "Jobs" },
];
  
export default function App() {
    const [activeTab, setActiveTab] = useState("home");
    const [nItems, setNItems] = useState(navItems);
  
    return (
        <center>
            <div>
                <h2>GeeksforGeeks</h2>
                <h4 style={{ color: "green" }}>
                    React Suite Nav Removable
                </h4>
  
                <div style={{ marginTop: 20 }}>
                    <ResponsiveNav
                        removable
                        appearance="tabs"
                        moreProps={{ noCaret: true }}
                        activeKey={activeTab}
                        onSelect={setActiveTab}
                        onItemRemove={(eventKey) => {
                            const nextItems = [...nItems];
                            nextItems.splice(
                                nextItems.map(
                                    (item) => item.eventKey)
                                        .indexOf(eventKey),
                                1
                            );
                            setNItems(nextItems);
                            setActiveTab(
                                nextItems[0] ?
                                    nextItems[0].eventKey : null
                            );
                        }}
                    >
                        {nItems.map((item) => (
                            <ResponsiveNav.Item 
                                key={item.eventKey}
                                eventKey={item.eventKey}>
                                {item.label}
                            </ResponsiveNav.Item>
                        ))}
                    </ResponsiveNav>
                </div>
            </div>
        </center>
    );
}

Producción:

 

Ejemplo 2: Este ejemplo muestra el elemento de navegación extraíble y la adición del nuevo elemento de navegación.

Javascript

import { useState } from "react";
import { Button } from "rsuite/";
import "rsuite/dist/rsuite.min.css";
import ResponsiveNav from "@rsuite/responsive-nav";
import { More } from "@rsuite/icons";
  
const navItems = [
    { eventKey: "A", label: "Item 1" },
    { eventKey: "B", label: "Item 2" },
    { eventKey: "C", label: "Item 3" },
];
  
// Function to create a new item in the nav
function getEventKey() {
    return Math.floor((Math.random() * 100) + 1) + "";
}
  
export default function App() {
    const [activeTab, setActiveTab] = useState("home");
    const [nItems, setNItems] = useState(navItems);
  
    return (
        <center>
            <div>
                <h2>GeeksforGeeks</h2>
                <h4 style={{ color: "green" }}>
                    React Suite Nav Removable
                </h4>
  
                <div style={{ marginTop: 20 }}>
                    <ResponsiveNav
                        removable
                        appearance="tabs"
                        moreText={<More />}
                        moreProps={{ noCaret: true }}
                        activeKey={activeTab}
                        onSelect={setActiveTab}
                        onItemRemove={(eventKey) => {
                            const nextItems = [...nItems];
                            nextItems.splice(
                                nextItems.map(
                                    (item) => item.eventKey)
                                        .indexOf(eventKey),
                                1
                            );
                            setNItems(nextItems);
                            setActiveTab(
                                nextItems[0] ?
                                    nextItems[0].eventKey : null
                            );
                        }}
                    >
                        {nItems.map((item) => (
                            <ResponsiveNav.Item
                                key={item.eventKey} 
                                eventKey={item.eventKey}>
                                {item.label}
                            </ResponsiveNav.Item>
                        ))}
                    </ResponsiveNav>
                    <hr />
                    {/* Button to add a new item in nav */}
                    <Button
                        appearance="primary"
                        color="green"
                        onClick={() => {
                            const itemKey = getEventKey();
                            const nextItems = [
                                ...nItems,
                                {
                                    eventKey: itemKey,
                                    label: `Item ${itemKey}`,
                                },
                            ];
                            setNItems(nextItems);
                        }}
                    >
                        Create Item
                    </Button>
                </div>
            </div>
        </center>
    );
}

Producción:

 

Referencia: https://rsuitejs.com/components/nav/#removable

Publicación traducida automáticamente

Artículo escrito por tarunsinghwap7 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 *