❓문제
Warning: validateDOMNesting(...): <a> cannot appear as a descendant of <a>.
🚧 에러메세지
Warning: validateDOMNesting(...): <a> cannot appear as a descendant of <a>.
아래는 현재 내가 쓰고 있는 코드인데, 처음에는 상세보기로 들어가는 링크를 제목인 BrandName 에 걸었다가 다른 사이트를 둘러보니 전체를 눌러서 상세보기로 들어가는 곳이 많아 전체로 다시 링크를 거는 작업을 거쳤었다.
//첫번째
<Link to={`${order.orderId}`}>
<AllPurchase>상세보기 ></AllPurchase>
</Link>
//두번째
<Link to={`${order.orderId}`}>
<BP>
<BrandName>{[order.orderProducts[0].brandName]}<span>{order.orderProducts[0].title}</span> 외 {order.orderProducts?.length}개</BrandName>
<Option>색상: {order.orderProducts[0].color}</Option>
<Price><span>₩ {order.orderProducts[0].price?.toLocaleString("en-US")}</span></Price>
</BP>
</Link>
const BrandName = styled(Link)``;
💪🏻해결
중첩된 링크로 나는 오류 라고 한다. 해당 블로그에서는 button의 a 태그 중첩이라고 했는데, 내 코드를 살펴보니 BrandName 에도 (Link)가 걸려있었고, 그 바깥쪽에도 Link가 한번 더 걸려있어서 중첩되는 것이었다. 코드를 다시 고칠때는 모든 부분을 제대로 볼 것!!
👇추가
validateDOMNesting 이 에러가 어디에서 많이 나는지 찾아보니, p tag, div tag, button tag, link tag 등 여러 곳에서 많이 나는 것 같았다. 부모자식간의 관계와 태그를 중첩되게 쓰진않았는지 한번 더 꼼꼼히 살펴봐야할 것 같다.
'프로젝트 > 메인프로젝트(유통)' 카테고리의 다른 글
TypeScript img파일 모듈 또는 해당 형식 선언을 찾을 수 없습니다. (0) | 2023.04.12 |
---|---|
Netlify 배포자동화 (0) | 2023.04.12 |
성능 최적화(Lighthouse 이용) (0) | 2022.12.07 |
`value` prop on `input` should not be null (0) | 2022.11.25 |
useRef()를 사용한 onClick이벤트(Object에서 map 사용하기) (0) | 2022.11.24 |