En este artículo, aprenderemos cómo podemos agregar filtros personalizados en el proyecto NextJS usando Algolia. NextJS es un marco basado en React. Tiene el poder de desarrollar hermosas aplicaciones web para diferentes plataformas como Windows, Linux y Mac. La vinculación de rutas dinámicas ayuda a representar sus componentes NextJS de forma condicional.
Enfoque: Para agregar nuestros filtros personalizados primero vamos a crear una cuenta en algolia que nos permita buscar contenido en milisegundos. Después de eso, obtendremos las claves API que usaremos más adelante en nuestra aplicación. Luego crearemos un nuevo índice para cargar nuestros datos. En la página de inicio de nuestra aplicación, buscaremos los datos de algolia usando las claves API y el módulo de búsqueda de algolia. Luego crearemos nuestros filtros personalizados.
Crear aplicación NextJS:
Paso 1: puede crear un nuevo proyecto NextJs usando el siguiente comando:
npx create-next-app gfg
Paso 2: Para agregar la búsqueda de Algolia en nuestro proyecto vamos a instalar dos módulos:
npm install algoliasearch react-instantsearch-dom
Estructura del proyecto: Tendrá el siguiente aspecto.
Paso 3: Configuración de Algolia. Algolia permite a los desarrolladores crear aplicaciones de próxima generación con API que entregan contenido relevante en milisegundos. Entonces, para usar algolia, primero cree una cuenta gratuita y obtenga las claves API de esa cuenta.
1. Para obtener las claves API, vaya a configuración > Claves API
2. Después de eso, cree un índice y cargue los datos que desea buscar. Puede cargar los datos en formato json, csv o mediante su API.
Para este ejemplo, estoy cargando los siguientes datos.
Title, Tag, Day GFG1, python, Monday GFG2, java, Tuesday GFG3, css, Wednesday GFG4, html, Thursday GFG5, react, Friday GFG6, nextjs, Saturday
Paso 4: Ahora crearemos filtros personalizados para nuestra aplicación. Para ello, crearemos un nuevo archivo dentro de una nueva carpeta de componentes con el siguiente contenido.
Javascript
import { connectMenu } from 'react-instantsearch-dom'; const Filters = ({ items, currentRefinement, refine }) => ( <select value={currentRefinement || ''} onChange={event => refine(event.currentTarget.value)} style={{padding:'10px 100px 10px 100px',borderRadius:'20px'}} > <option value="">See all options</option> {items.map(item => ( <option key={item.label} value={item.isRefined ? currentRefinement : item.value} > {item.label} </option> ))} </select> ); export default connectMenu(Filters);
Paso 5: ahora podemos usar la API para agregar el filtro personalizado en el Proyecto NextJs. Después de eso, para usar nuestro filtro personalizado, agregaremos el siguiente código en el archivo index.js.
Javascript
// Importing modules import algoliasearch from "algoliasearch/lite"; import { InstantSearch, Hits } from "react-instantsearch-dom"; import Filter from "../components/CustomFilter"; const searchClient = algoliasearch( APPLICATION_API_KEY, SEARCH_ONLY_API_KEY, ); export default function CustomizedFilter() { return ( <> <InstantSearch searchClient={searchClient} indexName="gfg_dev"> {/* Adding Filter */} <Filter attribute="Title"/> {/* Adding Data */} <Hits /> </InstantSearch> </> ); }
También puede agregar estilo usando CSS en nuestro filtro personalizado.
Pasos para ejecutar la aplicación: Ejecute la aplicación usando el siguiente comando en la terminal.
npm run dev
Producción:
Publicación traducida automáticamente
Artículo escrito por imranalam21510 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA