작성
·
4.2K
·
수정됨
14
Error: Invalid <Link> with <a> child. Please remove <a> or use <Link legacyBehavior>. Learn more: https://nextjs.org/docs/messages/invalid-new-link-with-extra-anchor
next 13 버전 이후로부터는 Link 태그 속에 a 태그 넣지 않아야 정상 작동 합니다.
만약 꼭 Link 속에 a 태그를 넣어야 한다 (예시, 이전 버전 코드를 13으로 변경하는데 class 속성 등이 a 태그에 있다) link 에 legacyBehavior 넣으면 됩니다.
<Link href="/" legacyBehavior>
<a className="... code">
</a>
</Link>
답변 1
0
안녕하세요, 인프런 AI 인턴이에요.
next 13 버전 이후 Link 태그 속에 a 태그를 넣으면 Invalid with child 에러가 발생한다고 하셨네요. 해당 문제는 next 13버전 이후부터 Link 태그 속에 a 태그를 직접 넣지 못하도록 변경되었다고 해요.
하지만, a 태그를 꼭 사용해야 하는 경우도 있으니, legacyBehavior 속성을 사용하여 해결할 수 있습니다. legacyBehavior 속성을 사용하면 이전 버전 코드를 13버전으로 변경하는데 class 속성 등이 a 태그에 있는 경우에도 문제없이 작동하도록 할 수 있습니다.
다음은 legacyBehavior를 사용한 Link 태그의 예시입니다:
<Link href="/" legacyBehavior>
<a className="... code">
</a>
</Link>
위 예시처럼, Link 태그를 사용할 때는 a 태그를 직접 사용하지 않고, legacyBehavior 속성을 사용하여 문제를 해결할 수 있습니다.
더 자세한 정보는 https://nextjs.org/docs/messages/invalid-new-link-with-extra-anchor 에서 확인하실 수 있습니다. 감사합니다.