Executando verificação de segurança...
1

[Ajuda] Perda de acesso ao contexto principal ao usar hydrateRoot para renderizar

Tenho um probleminha, atualmente, ao usar o hydrateRoot para renderizar um componente em um local específico do DOM, o componente renderizado perde o acesso ao contexto original. Isso se torna bem chato quando o meu componente precisa acessar o contexto existente, como provedores de contexto ou hooks.

Meu caso de uso envolve a renderização de um componente de modal usando um Higher-Order Component (HOC) e a preservação do contexto dentro do modal. O HOC utiliza o hydrateRoot para renderizar o modal dentro de uma div específica, mas o componente de modal perde o acesso ao contexto existente.

Alguém sabe se existe alguma maneira de preservar o contexto original ao usar o hydrateRoot? Sem ter que passar o contexto como props para o hoc já que ele é uma abstração e não deve saber sobre o contexto.
Por exemplo, meu component precisa acessar o swr para fazer uma request, mas as configurações do swr estão sendo feita pelo contexto usando o component SWRConfig, e como falei a partir do momento em que eu usei o hydrateRoot o component n tem acesso ao contexto, o que eu acho um pouco estranho já o container em que eu estou renderizando esteja dentro do contexto, mas também faz sentido se o hydrate root cria uma nova arvore, o que eu acredito que seja, então o que eu queria era basicamente algo para substituir o hydrate root
Eu tentei usar o portal ja que ele não perde o contexto e vai para uma parte específica do DOM, que é exatamente o que eu quero
Mas, com portal eu perco os recursos que estou tentando fazer no meu HOC e volto para estaca zero, ja que o portal tem que ser colocado no JSX, pelo menos não vi em lugar nenhum uma maneira de colocar um component em um portal sem ter que colocar no JSX

Também tenho um problema que quando renderizo esse modal usando next.js (não testei sem) ele vai me dar esse erro "Hydration failed because the initial UI does not match what was rendered on the server.", mas mesmo assim renderiza, o que por um lado faz sentido ja que só renderizo o modal com uma interação do usuario e faço o hydrate apenas depois dessa interação

Carregando publicação patrocinada...