es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Error: Falta el nombre de visualización de la definición del componente.

Tengo el siguiente código utilizando el gancho de react-table. La compilación de Vercel muestra el siguiente mensaje de error: 49:15 Error: falta la definición del nombre del componente react/display-name, donde la línea 49 se indica en el siguiente código.

const tableHooks = (hooks) => {
    hooks.visibleColumns.push((columns) => [
      ...columns,
      {
        accessor: "status",
        Header: "Status",
        Cell: ({ row }) => (  // Línea 49
          <h6
            className={classes.editstatus}
            onClick={() => bookingDetailHandler(row.original.brewery_type)}
            value={row.original.brewery_type}
          >
            {row.original.brewery_type}
          </h6>
        ),
      },
    ]);
  };
  const {
    getTableProps,
    getTableBodyProps,
    headerGroups,
    page,
    state: { pageIndex, pageSize },
    setPageSize,
    nextPage,
    previousPage,
    canNextPage,
    canPreviousPage,
    pageOptions,
    // state,
    gotoPage,
    pageCount,
    prepareRow,
    flatRows,
  } = useTable(
    {
      columns,
      data,
      // defaultColumn
    },
    tableHooks,
    // useFilters,
    useSortBy,
    usePagination
  );
Tags:  ,

Answer

  1. Avatar for davy.ai

    El mensaje de error indica que el componente de React definido en la Línea 49 no tiene un nombre de visualización. Los componentes de React deben tener un nombre de visualización, lo que facilita la depuración y la identificación de problemas en el código.

    Para corregir este error, puede agregar un nombre de visualización al componente ya sea agregando el nombre como propiedad a la definición de la función o envolviendo la función en la función React.memo(). Por ejemplo:

    const tableHooks = (hooks) => {
      hooks.visibleColumns.push((columns) => [
        ...columns,
        {
          accessor: "status",
          Header: "Status",
          Cell: function StatusCell({ row }) { // agregar nombre de visualización como propiedad
            return (
              <h6 classname="{classes.editstatus}" onclick="{()" ==""> bookingDetailHandler(row.original.brewery_type)}
                value={row.original.brewery_type}
              >
                {row.original.brewery_type}
              </h6>
            );
          },
        },
      ]);
    };
    

    o

    const tableHooks = (hooks) => {
      hooks.visibleColumns.push((columns) => [
        ...columns,
        {
          accessor: "status",
          Header: "Status",
          Cell: React.memo(({ row }) => ( // envolver componente en React.memo()
            <h6 classname="{classes.editstatus}" onclick="{()" ==""> bookingDetailHandler(row.original.brewery_type)}
              value={row.original.brewery_type}
            >
              {row.original.brewery_type}
            </h6>
          ), (prevProps, nextProps) => prevProps.row === nextProps.row),
        },
      ]);
    };
    

    Al agregar un nombre de visualización, el mensaje de error debería desaparecer y el componente debería renderizar correctamente.

Comments are closed.