HOC (High Order Component) é uma técnica de programação em React que permite a criação de componentes reutilizáveis. Um HOC é uma função que toma um componente como parâmetro e retorna um novo componente que encapsula o componente original.
Por exemplo, imagine que você tenha um componente que exibe uma lista de itens e deseja adicionar a funcionalidade de paginação a esse componente. Em vez de modificar o componente original para adicionar essa funcionalidade, você pode criar um HOC que aceita o componente original como parâmetro e retorna um novo componente que já possui a funcionalidade de paginação. Dessa forma, você pode reutilizar o HOC em outros componentes sem precisar duplicar o código.
Aqui está um exemplo de como um HOC poderia ser criado em React:
1 | import React from 'react'; |
O HOC é muito útil para evitar a duplicação de código e para adicionar funcionalidades adicionais a componentes sem modificar o código original. No entanto, é importante lembrar que HOCs podem aumentar a complexidade do código e torná-lo mais difícil de entender, portanto é importante usá-los de forma moderada.
Aqui está um exemplo de como um HOC poderia ser criado usando os hooks do React:
1 | import React, { useState } from 'react'; |
Neste exemplo, o HOC withPagination toma o componente ItemList como parâmetro e retorna um novo componente que gerencia o estado da página atual usando o hook useState. Ele também passa a página atual e uma função de gerenciamento da página para o componente original através de props.