React Data Table Componente - Crea Tablas en Minutos en React y Nextjs

Fazt Code
7 Mar 202413:53

Summary

TLDRIn this practical video, the presenter showcases the React Data Table component, a lightweight library that allows for easy creation and customization of tables in React applications. The video covers importing and setting up the component, displaying data rows, implementing sorting, row selection, pagination, fixed headers, filtering, and loading state management. The presenter also demonstrates how to integrate custom functionality, like a search input field, and mentions additional features available in the library's documentation, such as expandable rows and theming. Overall, the video serves as a comprehensive guide for developers looking to quickly incorporate tables with various functionalities into their React projects.

Takeaways

  • 👍 react-data-table-component is a small React component that allows you to create customizable tables with features like sorting, row selection, fixed headers, pagination, and more.
  • 🔑 It is useful for small projects that don't require extensive table customization, helping you get a functional table quickly.
  • 🚀 The video demonstrates how to set up a React project, install the library, and use it to create a basic table with columns and data.
  • 🔄 You can enable sorting on columns by adding the `sortable` prop to the desired columns.
  • ✅ The `selectable-rows` prop allows you to select individual rows or all rows with checkboxes.
  • 📃 Pagination can be added using the `pagination` prop, controlling the number of rows per page.
  • 🔒 The `fixed-header` prop keeps the table header fixed while scrolling through data.
  • 🔍 You can implement filtering by managing state and filtering the data based on user input.
  • ⚙️ Other features include displaying a title, showing a loading spinner while data fetches, and more.
  • 📚 The library's documentation provides examples and guides for additional functionality like expandable rows, conditional styling, and exporting data.

Q & A

  • What is the purpose of the React Data Table component discussed in the video?

    -The React Data Table component is a small library that allows you to create tables that are easy to customize. It enables features like listing data, selectable elements, fixed headers, pagination, and loading spinners, making it a simple solution for quickly adding a table to your application.

  • How do you install the React Data Table component in your project?

    -You can install the React Data Table component by running the command `npm install react-data-table-component` in your project's terminal.

  • What are the two main properties required to use the Data Table component?

    -The two main properties required for the Data Table component are `columns`, which define the column headers, and `data`, which contains the row data to be displayed in the table.

  • How do you enable sorting functionality for a column in the Data Table?

    -To enable sorting functionality for a column, you need to add the `sortable` property and set it to `true` for the desired column(s) in the `columns` array.

  • How can you select rows in the Data Table and access the selected data?

    -To enable row selection, you need to set the `selectableRows` property to `true` on the Data Table component. You can then access the selected row data through the `onSelectedRowsChange` event, which provides an array of the selected rows.

  • How do you enable pagination in the Data Table component?

    -To enable pagination, you need to add the `pagination` property to the Data Table component. You can also specify the number of rows per page using the `pagination.perPage` property.

  • How can you keep the table header fixed while scrolling?

    -To keep the table header fixed while scrolling, you need to set the `fixedHeader` property to `true` on the Data Table component.

  • How do you display a loading spinner while the data is being fetched?

    -You can display a loading spinner by using the `progressPending` property on the Data Table component and setting it to a boolean value based on the loading state. Additionally, you can provide a custom component to be displayed as the loading spinner using the `progressComponent` property.

  • How do you filter the table data based on user input?

    -To filter the table data based on user input, you need to handle the input change event, filter the data using the input value, and update the state with the filtered data. This can be done by creating a state for the data and filtering it using array methods like `filter`.

  • What are some other features provided by the React Data Table component?

    -Some other features provided by the React Data Table component include conditional row styling, expandable rows, theme customization, CSV/Excel export, and more. You can refer to the documentation for a complete list of features and examples.

Outlines

00:00

🚀 Introduction to React Data Table Component

This paragraph introduces the React Data Table component, which is a small and easy-to-customize library for creating tables with features like data listing, selectable elements, fixed headers, pagination, and loading spinners. The speaker explains that it is a simple and fast way to have a table in an application, making it suitable for small projects that do not require extensive customization. The paragraph then walks through setting up a new React project and installing the required dependencies.

05:00

🔍 Exploring React Data Table Features

This paragraph delves into the various features of the React Data Table component. It covers sorting columns alphabetically, enabling selectable rows and capturing selected data, implementing pagination, fixing table headers for better readability when scrolling, and filtering data using an input field. The speaker demonstrates how to use these features by modifying the project code and showcasing the visual changes in the application.

10:01

🛠️ Advanced React Data Table Customization

The final paragraph explores additional customization options offered by the React Data Table component. It discusses adding a title to the table, displaying a loading spinner while fetching data from a server, and rendering a custom loading component. The speaker also mentions other features like conditional rows, expandable rows, changing the default theme, and exporting data as a CSV file. Finally, the speaker provides resources for further learning, such as joining the community Discord server, following social media channels, and accessing personalized consultations on the speaker's website.

Mindmap

Keywords

💡React

React is a popular JavaScript library for building user interfaces. In the video, React is being used to create a data table component. The speaker mentions that they are creating a React project and importing the 'react-data-table-component' library to build a customizable table within a React application.

💡Data Table

A data table is a way to display and organize data in a tabular format, with rows and columns. In the context of the video, the speaker is introducing a React component called 'react-data-table-component' that allows developers to easily create and customize data tables within their React applications. This component provides features such as sorting, pagination, row selection, and more.

💡Component

In React, a component is a reusable piece of code that represents a part of the user interface. Components can be combined to build complex UIs. The video focuses on the 'react-data-table-component', which is a React component designed specifically for creating data tables. The speaker highlights the benefits of using this component, such as its simplicity and customization options.

💡Columns

Columns are the vertical sections of a data table, representing the different attributes or properties of the data being displayed. In the video, the speaker demonstrates how to define the columns for the data table by creating an array of column objects, each with a 'name' property specifying the column header.

💡Data

In the context of data tables, 'data' refers to the information or records that will be displayed within the table's rows. The speaker shows how to provide data to the 'react-data-table-component' by creating an array of objects, where each object represents a row in the table, and the keys correspond to the defined column names.

💡Sorting

Sorting is the ability to rearrange the rows of a data table based on the values in a particular column, either in ascending or descending order. The video demonstrates how to enable sorting for columns in the 'react-data-table-component' by setting the 'sortable' property to true for the desired columns.

💡Row Selection

Row selection refers to the ability to select one or multiple rows within a data table. In the video, the speaker showcases how to enable row selection in the 'react-data-table-component' by setting the 'selectableRows' property to true. This feature allows users to select rows and perform actions on the selected data.

💡Pagination

Pagination is the process of dividing a large set of data into smaller, more manageable chunks or pages. The video illustrates how to enable pagination in the 'react-data-table-component' by setting the 'pagination' property, which allows users to navigate through different pages of the data table.

💡Fixed Header

A fixed header is a feature in data tables where the column headers remain visible and fixed at the top of the table, even when scrolling through the rows. The speaker demonstrates how to enable this feature in the 'react-data-table-component' by setting the 'fixedHeader' property to true, ensuring that the column headers remain visible while scrolling through large datasets.

💡Filtering

Filtering is the process of showing only the data rows that match certain criteria or conditions. In the video, the speaker implements a filtering functionality for the data table by creating an input field and a function that filters the data based on the input value. This allows users to quickly find and display only the relevant data within the table.

Highlights

This video is a practical guide about a React component called 'react Data Table', which is a small component that allows us to create easy-to-customize tables.

With this component, we can list data, have selectable elements, fix the header of the table, add pagination, and display a default component while data is loading.

This component aims to be simple and allows us to have a table quickly in our application, which can be helpful for small projects that don't require extensive customization or a giant table component.

The video covers the installation of the 'react-data-table-component' package and setting up a basic React project.

The instructor demonstrates how to import and use the DataTable component, passing in column definitions and data as properties.

The video showcases how to enable sortable columns by adding the 'sortable' property to the column definitions.

The instructor explains how to enable row selection by adding the 'selectableRows' property, and how to handle the selected row data using the 'onSelectedRowsChange' event.

The video demonstrates how to enable pagination by adding the 'pagination' property and customize the number of rows per page.

The instructor shows how to fix the table header by adding the 'fixedHeader' property, preventing the header from scrolling out of view.

The video covers adding a title to the table using the 'title' property.

The instructor demonstrates how to display a loading spinner or message while data is being fetched using the 'progressPending' property and a custom 'progressComponent'.

The video showcases how to add a search input field to filter the table data based on the input value using state and the 'filter' method.

The instructor mentions additional features available in the 'react-data-table-component' library, such as conditional row styling, expandable rows, theme customization, and CSV export.

The video concludes by encouraging viewers to check the documentation for more advanced features and leave any questions in the comments.

The instructor provides links to join the community discord, follow on social media, and book personalized consultations.

Transcripts

play00:00

Hey cod el día de hoy Les traigo un

play00:01

video práctico acerca de un componente

play00:02

de react que se llama react Data Table

play00:04

component que es un componente muy

play00:06

pequeño que al final nos permite crear

play00:07

tablas que son fáciles de personalizar

play00:09

es decir nosotros podemos listar datos

play00:10

podemos tener elementos seleccionables

play00:12

podemos hacer que una tabla en la

play00:14

cabecera se mantenga fija por ejemplo o

play00:16

podemos hacer también la paginación o

play00:18

que cuando cargan los datos nos muestre

play00:19

algún componente por defecto este

play00:21

componente tiene el objetivo al final de

play00:23

ser sencillo y permitirnos tener una

play00:24

tabla rápidamente en nuestra aplicación

play00:26

Así que si ustedes están en un proyecto

play00:28

pequeño y no requieren de tantas

play00:29

personaliza opciones y no requieren de

play00:30

un componente de una tabla gigante pues

play00:32

esto los puede ayudar bastante para

play00:33

tener el trabajo hecho en menos tiempo

play00:35

así que vamos a

play00:36

empezar lo primero que voy a hacer es

play00:38

crear un proyecto de re vamos a abrir

play00:40

una terminal vamos a ubicarnos en el

play00:42

escritorio con el comando cdop Y a

play00:43

partir de Aquí vamos a ejecutar El

play00:45

Comando mpm create bit y vamos a crear

play00:47

un proyecto en este caso que se llame

play00:48

react gu Data Table example y luego

play00:51

vamos a escoger react como framework y

play00:53

javascript tan solamente para este

play00:54

proyecto con esto se va a crear un

play00:55

proyecto ya puedo cerrar la terminal

play00:57

vamos a arrastrar esta carpeta que se ha

play00:58

creado dentro de nuestro Editor en este

play01:00

caso voy a estar utilizando visual

play01:01

Studio code vamos a abrir una terminal

play01:02

de visual Studio Y a partir de aquí lo

play01:04

primero que vamos a hacer es instalar

play01:05

las dependencias con el comando npm o en

play01:08

p install listo una vez instalado vamos

play01:10

a limpiar algo de código porque en

play01:12

app.jsx siempre viene con código de

play01:14

ejemplo de bit y vamos a crear un

play01:15

componente básico de r que simplemente

play01:17

diga app listo vamos a ejecutar esto

play01:18

vamos a abrir una terminal vamos a

play01:20

ejecutar mpn rund Esto va a ejecutar un

play01:22

servidor en el 5173 Y si nosotros

play01:24

intentamos abrir esto en nuestro

play01:25

navegador vamos a ver un texto que dice

play01:27

app está centrado porque eso también

play01:28

viene con estilos por perfecto Pero

play01:30

bueno vamos a enfocarnos ahora en la

play01:31

biblioteca que vamos a estar utilizando

play01:33

el día de hoy que se llama react Data

play01:35

Table component de hecho vamos a

play01:36

buscarlo de esta forma react Data Table

play01:38

component y vamos a llegar aquí en este

play01:40

paquete de npm para aquellos que quieran

play01:41

saber de qué se trata de forma resumida

play01:43

este componente este componente nos

play01:44

permite crear una tabla y ya tiene

play01:46

estilos y funcionalidades

play01:47

preconfiguradas es una forma rápida de

play01:49

tener una tabla en una aplicación quizás

play01:50

no es tan personalizable al modo de

play01:52

tener por ejemplo un Tank stack Table o

play01:54

un Data Table de material ui pero aún

play01:56

así para muchas cosas sencillas que al

play01:58

final nosotros queremos tener muy común

play02:00

en muchas aplicaciones como podría ser

play02:02

por ejemplo ordenamiento de elementos

play02:04

seleccionar filas o seleccionar

play02:05

múltiples filas tener filas expandibles

play02:07

y paginación pues viene bastante bien

play02:09

para tenerlo preconstruido o ya

play02:10

construido des el momento que instalamos

play02:12

esta biblioteca Entonces vamos a

play02:13

instalarlo vamos a venir aquí donde está

play02:15

el comando Para instalarlo vamos a venir

play02:16

a nuestra consola vamos a cancelar un

play02:17

segundo vamos a pegar El Comando MP

play02:19

install react gu Data gu Table gu

play02:21

component y vamos a volver a ejecutar el

play02:23

proyecto ahora si vemos un momento su

play02:24

documentación vamos a ver que aquí no

play02:26

está todo sino que hay un enlace que nos

play02:28

lleva a una p página que está en netlify

play02:31

y Bueno aquí nosotros vamos a encontrar

play02:32

la documentación aquí hay ejemplos

play02:33

básicos por ejemplo de cómo iniciar con

play02:35

una tabla un reordenamiento fácil una

play02:37

fila seleccionables y demás pero todo

play02:38

eso se lo voy a ir mostrando poco a poco

play02:40

Okay cómo funciona este componente

play02:41

primero tenemos que importarlo venimos

play02:42

aquí arriba y le digo voy a importar

play02:44

Data Table from react Data Table

play02:46

component y vamos a tener que utilizar

play02:48

este componente así aquí debajo voy a

play02:49

llamar el componente Data Table y espera

play02:51

dos propiedades muy importantes la

play02:53

primera son las columnas que son

play02:54

básicamente los títulos o los

play02:56

encabezados que van por cada columna y

play02:57

luego está la propiedad Data que son los

play02:59

datos o mejor dicho las filas de la

play03:00

tabla ahora estos datos yo los puedo

play03:02

pasar directamente aquí como un arreglo

play03:03

pero vamos a escribirlos aquí afuera

play03:04

para tener mucho más orden en este caso

play03:06

por ejemplo voy a crear una constante

play03:08

llamada colums que va a ser un arreglo y

play03:09

lo que espera Data tables es un objeto

play03:11

en donde vamos a darle los nombres de

play03:13

las columnas por ejemplo voy a colocarle

play03:14

un name y aquí voy a decirle que quiero

play03:16

colocar el nombre quizás de un usuario y

play03:18

esto lo voy a copiar unas tres veces más

play03:20

porque también voy a querer colocar por

play03:22

ejemplo el apellido de un de un usuario

play03:24

y la edad de un usuario y Bueno nada más

play03:26

de momento Entonces si yo quiero pasarle

play03:28

esto pues simplemente le coloco column y

play03:29

aquí de momento como no hay datos vamos

play03:30

a pasarle un arreglo vacío vamos a

play03:32

guardarlo Y si yo vengo en la aplicación

play03:33

vengo en el proyecto vamos a ver que

play03:35

aquí aparece un texto que dice no hay

play03:37

record a mostrar pero si ahora añado

play03:39

datos de verdad por ejemplo voy a crear

play03:41

aquí aparte de colum los datos vamos a

play03:43

minimizar allí y voy a crear Data y Data

play03:45

va a tener los siguientes Campos por

play03:46

ejemplo esto tiene que coincidir con los

play03:48

datos que voy a pasarle aquí por ejemplo

play03:49

aquí hay nombre apellido y edad entonces

play03:51

voy a colocarle aquí nombre apellido y

play03:53

edad listo y tengo dos usuarios Y si

play03:54

quiero pasarlos Aquí tengo que pasar en

play03:56

este caso la constante de guardo y si y

play03:58

vengo aquí en la aplicación pueden ver

play03:59

que Aparecen las columnas pero los datos

play04:01

no se muestran bien la razón es que cada

play04:02

uno de estos valores puede que venga con

play04:04

otro tipo de clave es decir No

play04:05

necesariamente tiene que ser nombre sin

play04:07

no puede venir con name o full name o

play04:09

algo así entonces yo tengo que pasar

play04:10

este nombre también relacionado con este

play04:13

texto que yo quiero mostrar es decir

play04:14

cuando se muestre la columna nombre yo

play04:16

quiero que utilice el selector y el

play04:17

selector viene de esta forma es una fila

play04:19

y dentro de la fila quiero que muestre

play04:20

el nombre este nombre que está aquí es

play04:22

justamente el nombre que tiene en este

play04:24

caso la columna entonces si yo quiero

play04:26

mostrar esto Pues bueno aquí de hecho

play04:28

sería solamente dos puntos yo quiero

play04:29

Mostrar esto pues simplemente utilizo

play04:30

este formato una función flecha Row con

play04:32

el nombre de la clave del objeto

play04:35

Entonces vamos a copiar esto y vamos a

play04:36

pegarlo Aquí también en apellido y en

play04:37

edad en apellido por ejemplo ya no sería

play04:39

r nombre sino sería @ apellido y en edad

play04:42

también sería @ edad guardo Y si vengo

play04:44

ahora en el componente pueden ver que

play04:45

aparecen los datos ahora vamos a Añadir

play04:46

más datos de ejemplo vamos a venir aquí

play04:48

en nuestro arreglo y voy a colocar

play04:49

algunos datos extras por ejemplo de otro

play04:51

usuario vamos a colocarle unos tres

play04:53

usuarios más todos por supuesto con su

play04:54

nombre apellido y edad vamos a guardarlo

play04:56

Y si venimos ahí está la tabla ahora

play04:57

supongamos que en esta tabla en cuanto a

play04:59

los nombres yo qui quiero ordenarlos

play05:00

alfabéticamente bueno no tengo que

play05:01

crearlo desde cero sino que ya existe

play05:02

una propiedad que yo puedo Añadir a la

play05:04

columna y va a ser que todos estos filas

play05:06

de esa columna van a poder ser

play05:07

reordenada la propiedad de hecho se

play05:08

llama sortable y solamente se viene aquí

play05:10

en la parte de columns y vamos a

play05:12

colocarle la propiedad sortable and true

play05:14

ziano Y si yo guardo y vengo aquí en el

play05:16

componente pueden ver que no ha cambiado

play05:18

pero si doy un hover aquí en la columna

play05:20

aparece una flecha y yo puedo ordenar

play05:22

alfabéticamente ya sea en orden inverso

play05:23

o desde la letra a a la z y claro esto

play05:25

funciona para cualquier columna es decir

play05:27

que si ustedes copian esto y lo pegan

play05:29

tambén bien en las otras columnas

play05:30

significa que las otras también pueden

play05:32

poder ser reorden adas yo también puedo

play05:33

hacer lo mismo con apellido y edad luego

play05:35

lo siguiente que también podemos hacer

play05:36

con esta tabla es tener muchas filas que

play05:38

puedan ser seleccionables es decir poder

play05:40

seleccionar una y aplicar quizás alguna

play05:42

acción a todas esas Por lo general para

play05:43

hacerlo en una tabla normal tendríamos

play05:45

que empezar a recorrerlos o empezar a

play05:47

Añadir una un botón allí pero aquí es

play05:49

tan fácil como venir aquí en la

play05:50

propiedad de Data Table y colocarle la

play05:51

propiedad selectable rows que sería lo

play05:53

mismo que selector RS and true y ya con

play05:55

esto si yo guardo y vengo aquí en la

play05:56

aplicación pueden ver que aparecen unos

play05:58

botones en donde yo puedo seleccionar

play05:59

todos o puedo seleccionar algunos

play06:01

cuantos ahora si ustedes se preguntan

play06:02

Cómo puedo ver estos datos que estoy

play06:04

seleccionando también tiene un evento un

play06:05

change que puede capturar esos cambios

play06:07

de hecho el evento se llama on selected

play06:09

Road change y esto lo que va a dar es un

play06:11

arreglo o unos datos de hecho vamos a

play06:13

ver estos datos y vamos a ver por

play06:14

consola estos datos Entonces yo guardo

play06:16

esto y abro la consola vamos a ver que

play06:17

aquí si yo selecciono algunos por

play06:18

ejemplo selecciono uno o dos lo que me

play06:20

está devolviendo es un objeto pero una

play06:22

propiedad selectable rows con los datos

play06:24

que he escogido por ejemplo aquí en

play06:25

selected Row me está mostrando que tengo

play06:27

tres elementos esto aquí está extraño

play06:29

porque por lo general solamente tengo

play06:30

dos por ejemplo pueden ver que ahí tengo

play06:32

dos okay Entonces vamos a ver Ahí están

play06:34

los dos si yo selecciono un tercero

play06:35

aparecería un tercero y si yo quito

play06:37

algún elemento por ejemplo quito este

play06:39

elemento Carlos vamos a ver que solo me

play06:40

quedan los dos listo entonces de esta

play06:41

forma Pues nosotros ya también podemos

play06:43

guardar luego enviar una petición o algo

play06:44

a un backend para que guarde estos dos

play06:46

datos que han sido seleccionados o

play06:47

aplicar algún tipo de lógica de backend

play06:49

ahora muy aparte de tan solo seleccionar

play06:51

elementos otra cosa que podemos hacer es

play06:53

también tener paginación incluida esto

play06:55

quiere decir que si yo añado aquí en dat

play06:56

Table una propiedad que se llama

play06:58

pagination y guardamos esto

play07:00

inmediatamente lo que va a hacer es

play07:01

darnos paginaciones por todos los datos

play07:03

en este caso por ejemplo pueden ver que

play07:04

me dice que puedo seleccionar 10 por

play07:05

página pero yo también puedo cambiar ese

play07:07

números que yo le digo Aquí en

play07:08

pagination le digo pagination per page y

play07:11

aquí le puedo colocar Cuántos quiero por

play07:13

página le digo que quiero cuatro por

play07:14

página Entonces si vengo ahora en la

play07:15

interfaz y refresco van a ver que tan

play07:17

solo tengo cuatro y tengo otra página

play07:19

más y aquí continuaría el elemento cinco

play07:21

ya que solo me muestra cuatro por página

play07:23

y bueno esto ya lo tiene incluido los

play07:24

botones ya están estilizados ya

play07:25

simplemente es activar esa opción ahora

play07:27

en caso nosotros tengamos muchos por

play07:29

ejemplo no t solamente tengo cuatro y

play07:31

demás Hay veces en las que nosotros

play07:32

queremos eh tener una tabla que se quede

play07:34

la cabecera fija vamos a hacer esto voy

play07:35

a Añadir unos cuantos datos extras Okay

play07:37

voy a guardarlo y claro Aquí está

play07:38

paginado vamos a comentar la paginación

play07:40

de momento esta paginación de cuatro

play07:42

vamos a tener aquí todos los datos

play07:43

listados y supongamos que yo al

play07:44

scrollear quiero que la cabecera se

play07:47

quede fija porque como pueden ver aquí

play07:48

cuando yo hago un scroll la cabecera al

play07:50

final se queda atrás Bueno lo que yo

play07:52

puedo hacer también es Añadir un estilo

play07:53

o una propiedad que se llama fixet

play07:55

header Y si yo guardo que un scroll

play07:57

pueden ver que la cabecera se queda allí

play07:58

pegada arriba Entonces no hay necesidad

play08:01

de que yo tenga que estilizarlo

play08:02

manualmente y bueno Además de eso

play08:03

también lo que podríamos hacer es unirlo

play08:05

con nuestras propias funciones por

play08:06

ejemplo supongamos que yo quiero un

play08:07

campo que permita filtrar la tabla

play08:09

también podría hacerlo que yo aquí creo

play08:11

un input en este caso este input va a

play08:13

tener un tipo texto y aquí nosotros

play08:14

podemos colocarle en change para que

play08:16

cuando se cambie un valor haga algo lo

play08:18

que voy a hacer es crear una función que

play08:19

maneje el cambio de función que se llame

play08:21

handle change y en handle change voy a

play08:22

recibir ese valor vamos a pasarlo aquí

play08:24

en el input Solo que lo que voy a hacer

play08:25

aquí es no solamente recibir ese valor

play08:27

sino que vamos a reordenar para

play08:28

reordenar datos nosotros tenemos que

play08:30

alterar un estado Entonces estos datos

play08:31

que yo tengo aquí estos datos del

play08:33

arreglo lo que voy a hacer es guardarlos

play08:34

primero en un State ent vamos a importar

play08:36

por acá voy a decirle vamos a importar

play08:38

de react un Us State vamos a crear aquí

play08:41

un estado que se llame registros record

play08:43

inicialmente Esto va a tener los datos

play08:45

que vamos a estar definiendo incluso

play08:47

esto puede ir debajo porque aquí está

play08:48

definido el arreglo entonces debajo voy

play08:50

a crear el estado cces los datos que

play08:51

tengo aquí van a ir dentro del Estado Y

play08:53

utilizando este enfoque de hecho aquí me

play08:54

he equivocado con una constante vamos a

play08:56

empezar a filtrarlos vamos a decirle que

play08:58

de los datos vamos vamos a utilizar una

play09:00

función filter y por cada registro que

play09:02

se empiece a recorrer lo que voy a hacer

play09:04

es empezar a compararlo por ejemplo voy

play09:06

a decir the record en su propiedad name

play09:08

convertido a minúscula vamos a colocarlo

play09:10

si esto incluye uno de los textos que

play09:12

voy tipeando en el input que vendría

play09:14

desde etarget punto value y también lo

play09:16

vamos a convertir al lowercase es decir

play09:17

a minúscula si coinciden ambos pues

play09:19

significa que hay elementos que estoy

play09:21

escribiendo en el input que al final

play09:22

estén en la tabla entonces voy a

play09:23

retornar todos estos elementos que

play09:24

coincidan y luego Esto me va a retornar

play09:26

un nuevo arreglo vamos a llamarle filter

play09:29

record y Esto va a ser establecido como

play09:30

un nuevo estado Entonces le digo estos

play09:32

son los nuevos récords que van a

play09:33

mostrarse Entonces al momento de

play09:35

recorrer la tabla ya no voy a mostrar

play09:36

los datos directamente sino Mostrar los

play09:37

Records ya que estos van a estar siendo

play09:39

filtrados si yo guardo y vengo ahora en

play09:40

la tabla aquí tengo un input Y si yo

play09:42

escribo un dato de algún nombre por

play09:43

ejemplo Lucía esto debería cambiar

play09:45

Entonces vamos a ver aquí probablemente

play09:46

sea por el handle change de hecho en mi

play09:48

caso los datos no lo he colocado en

play09:50

inglés sino en español es por eso que

play09:51

aquí me da un error entonces voy a

play09:52

colocarle record punto nombre y aquí en

play09:54

este caso el V Sí estaría bien Entonces

play09:56

vamos a verlo De hecho aquí sería

play09:57

include con s Okay vamos a guardarlo Y

play09:59

sí si refresco y escribo algún nombre

play10:01

esbo Lucía pueden ver que se filtra o

play10:02

escribo Carlos se filtra o Ana por

play10:04

ejemplo y se va filtrando los datos

play10:06

ahora otra propiedades que también tiene

play10:07

esa tabla es colocarle un título si yo

play10:09

vengo aquí en dat Table y coloco una

play10:10

propiedad title puedo colocarle aquí

play10:12

datos de usuarios Y si yo guardo y vengo

play10:14

aquí en el componente pueden ver que

play10:15

aparece dentro de la tabla el título

play10:17

otra cosa también es cuando nosotros

play10:18

intentamos cargar datos que no vienen

play10:20

desde aquí sino desde el servidor y

play10:21

queremos que la tabla muestre algún

play10:22

spinner o algo lo que podemos hacer es

play10:24

también colocarle esa propiedad

play10:26

supongamos que los datos no están

play10:27

asignados aquí sino que vienen desde un

play10:29

Back Entonces inicialmente estos récords

play10:31

van a estar vacíos Okay si yo guardo

play10:33

esto de aquí y vengo aquí en la tabla me

play10:34

dice no hay datos que Mostrar pero lo

play10:36

que puedo hacer es colocar un use effect

play10:38

Aquí voy a decirle Cuando cargue la

play10:40

aplicación vamos a colocar un Time out

play10:42

para que simule esa petición le digo set

play10:44

Time out esto lo que va a hacer Es que

play10:45

después de determinado tiempo va a

play10:46

ejecutar el código que yo coloque aquí

play10:48

dentro de esta función en este caso el

play10:49

Time out lo que Espera es un tiempo voy

play10:51

a colocar después de 2 segundos y voy a

play10:53

decirle que después de 2 segundos va a

play10:54

establecer en Records lo que está en

play10:56

Data el tema sería aquí Okay después de

play10:58

2 segund segundo va a aparecer los datos

play11:00

vamos a guardarlo y de hecho para que

play11:01

esto también no me dé ningún error vamos

play11:02

a guardar este Time out en una constante

play11:04

que se llame Time out y solo para que

play11:05

react funcione bien Aquí vamos a

play11:07

retornar al final antes de que finalice

play11:09

el use effect un Clear Time out para que

play11:11

en caso el componente sea desmontado

play11:12

también quite el Time out buen Eso lo

play11:14

único que va a hacer es que si yo veng

play11:15

aquí en la tabla y yo refresco pueden

play11:16

ver que me dic no hay record a mostrar y

play11:18

después de 2 segundos aparece pero yo

play11:19

podría mostrar un spinner entonces lo

play11:20

que podría hacer es colocarle un estado

play11:22

que se llame pending por ejemplo o

play11:24

loading también podría llamarlo set

play11:26

loading inicialmente va a estar en true

play11:27

y Cuando cargue los datos vamos a

play11:29

cambiarlo a lo adding en false Y quién

play11:30

va a utilizar este valor bueno vo a

play11:31

utilizar en este caso el Data Table

play11:33

Entonces yo le puedo decir progress

play11:34

pending y le coloco el valor de loading

play11:37

yo guardo y vengo ahora en la aplicación

play11:38

pueden ver que dice texto lo adding si

play11:40

yo refresco después de 2 segundos recién

play11:42

carga en este caso los elementos ahora

play11:43

en este caso siempre muestra texto aden

play11:45

si ustedes quieren colocar un spinner

play11:46

pueden venir en el componente y pueden

play11:48

colocarle progress component y aquí

play11:50

pueden colocarle un componente que

play11:52

quieran por ejemplo en este caso voy a

play11:53

colocar un h1 que diga cargando y si yo

play11:55

refresco aquí me dice cargando o pueden

play11:56

crear un componente por Aparte también

play11:58

podrían cortar esto y crear una función

play12:00

por acá que se llame loader o algo así y

play12:03

aquí pueden retornar el elemento que

play12:05

quieran puede ser un div aquí un h1 que

play12:07

diga cargando y debajo un spinner vamos

play12:10

a colocar de momento un h3 simplemente

play12:11

que diga spinner ya luego ustedes pueden

play12:13

colocar un icono allí con animaciones y

play12:14

demás momento coloco lo ad De hecho aquí

play12:16

iría como jsx pad de esta forma guardo y

play12:19

ahora s si refresco la página pueden ver

play12:20

que está cargando y spinner y bueno a

play12:22

partir de aquí el componente lo que hace

play12:23

es ofrecerle otras funcionalidades como

play12:25

permitir que se expandan elementos y

play12:26

demás eso requiere requerir más

play12:28

componentes o también permite estilizar

play12:30

algunas cosas de forma básica si quieren

play12:32

conocer todo esto pueden entrar en la

play12:33

documentación de react Data Table

play12:35

component y aquí ustedes van a ver una

play12:37

lista de todo lo que puede hacer en este

play12:38

caso yo les he mostrado las básicas como

play12:40

podría ser el ordenamiento el

play12:42

seleccionar datos el tener la paginación

play12:45

las cabeceras el wer pero también hay

play12:47

otras opciones como un conditional rous

play12:49

Es decir para que algunas tablas

play12:50

apliquen una lógica u otra esto lo que

play12:52

hace es que pueden colocar colores en

play12:53

algunas tablas o el expandable como les

play12:55

dije que también lo que hace es que si

play12:56

ustedes dan un click expande datos de

play12:58

debajo de esa fila y ya luego hay otros

play13:00

ejemplos que están relacionados con el

play13:02

cambiar el tema por defecto que trae la

play13:04

tabla para colocar los elementos de una

play13:05

forma más compacta Quizás o exportarlo

play13:07

como un csv por ejemplo como un Excel y

play13:10

así de momento al menos con esto ya les

play13:11

doy una idea para que puedan iniciar con

play13:13

este componente Y si tienen una duda

play13:14

pueden dejar en los comentarios nos

play13:15

vemos en un siguiente ejemplo eso ha

play13:18

sido todo por el video del día de hoy si

play13:19

tienes dudas puedes dejarla en los

play13:21

comentarios o en la descripción deja un

play13:22

enlace para que te puedas unir a la

play13:24

comunidad de discord en donde

play13:25

encontrarás a otros desarrolladores o si

play13:27

en caso el enlace está acaí puedes ir a

play13:29

fastd discord para acceder más

play13:31

rápidamente dejo mi Twitter donde

play13:33

típicamente comparto algunos recursos

play13:35

interesantes de desarrollo y

play13:36

programación en general mi Instagram

play13:37

donde comparto algunas noticias cortas

play13:39

todos los días el tiktok donde comparto

play13:40

videos cortos e informativos y mi canal

play13:42

principal en donde comparto opiniones y

play13:44

noticias de tendencias nuevas además

play13:46

también dejo mi web en donde puedes

play13:47

reservar asesorías personalizadas

play13:49

Gracias por ver y nos vemos en un

play13:51

próximo video

Rate This

5.0 / 5 (0 votes)

Related Tags
ReactDataTableWebDevelopmentTutorialComponentLibraryJavaScriptUserInterfaceCodingReactComponentLearningResource