Contexto
Eu como já descrito estou desenvolvendo um projeto, com next.js e styledcomponents, e nele tenho um conponent footer do qual a opacidade do ícone muda dependendo da rota atual, assim demostrando que o link esta desativando.
Erro
Este erro aparece quando o código é executado, por mais que o não mude nada para o usuário diretamente, preciso extingui-lo da minha aplicação.
Function components cannot be given refs.
Attempts to access this ref will fail. Did you mean to use React.forwardRef()?
Codigo
Eu estou estilizado diretamente o componente Image vindo do next.js, de forma dinâmica, basicamente:
const ImageStyled = styled(Image)`
opacity: ${props => props.dissable == 'true' ? '0.4' : '1'}; `
Depois isso é passado para um outro component onde essa onde é ultilizado de icone:
const IconLink = { href, imgSrc, imgAlt, dissable= "false" }) => {
return (
// eslint-disable-next-line @next/next/link-passhref
<Link href={href}>
<ImageStyled src={imgSrc} alt={imgAlt} dissable={dissable} />
</Link>
)
}
Depois ele é passado para um component principal que renderiza de forma condicional e passa ou não a propriedade que desabilita o link.
export const Footer = ({}) => {
const router = useRouter()
return (
<FooterContainer>
{
router.pathname == '/' ?
<IconLink
href={'/'}
imgSrc={homeIcon}
alt='link desabilitado para a pagina home com um icone de uma casa com fundo trasparente e contorno de cor cinza'
dissable="true" />
:
<IconLink
href={'/'}
imgSrc={homeIcon}
alt='link para a pagina home com um icone de uma casa com fundo trasparente e contorno de cor preta' />
}
{
router.pathname == '/sobre' ?
<IconLink
href={'/'}
imgSrc={aboutIcon}
alt='link desabilitado para a pagina sobre com um icone com um ramo e tres folhas com fundo trasparente e contorno de cor cinza'
dissable="true" />
:
<IconLink
href={'/'}
imgSrc={aboutIcon}
alt='link para a pagina sobre com um icone com um ramo e tres folhas com fundo trasparente e contorno de cor preta' />
}
</FooterContainer>
)
}
Eu omiti os inputs para ir mais direto ao ponto.
Duvida
A minha duvida principalmente é na questão de onde vem esse erro e como eu resolvo ele.
E também se essa e a melhor forma de chegar neste resultado como eu estou aprendendo agora tanto o next.js quanto o styledcomponents qualquer feedback relevante eu estou aceitando.