// DynamicTag 컴포넌트<DynamicTagtagName="a"href="/"> a 로 렌더링</DynamicTag><DynamicTagtagName="p"> p 로 렌더링 </DynamicTag><DynamicTag> div 로 렌더링 </DynamicTag>// Button 컴포넌트<Buttonhref="/">a 렌더링</Button><Button>button 렌더링</Button>
더 연구해 볼 것
사실 위와 같은 방법이 올바른 방법인지는 모르겠다. 참고해서 작업하긴 했지만 오류에 계속 직면했다.
예를 들면 DynamicTag 컴포넌트에서 ...props 를 전달하였음에도 href 속성값을 넣으면 ts 오류가 떴다. 다른 속성값도 마찬가지로 오류가 뜸.
구글링을 해보고 이리저리 껴 맞춰보고 해서 오류는 안뜨게 했는데 논리적으로 왜 저렇게 해야하는 건지 사실 방법은 잘 모른다. 😭
React.AllHTMLAttributes 흠..
// DynamicTag 에서 PropsinterfacePropsextendsReact.AllHTMLAttributes<any> { children?:React.ReactNode; className?:string; tagName?:React.ElementType<any>;}// 사용시<DynamicTagtagName="a"href="/"> a 로 렌더링</DynamicTag>