Problem
에러가 났을 때 빨간 글자색을 보여주기 위해 StyledComponent에 hasError 프로퍼티를 넘기고
<StyledField hasError={hasError} />
이를 스타일링만 하기 위해 StyledComponent에서만 받아 썼더니
const StyledField = styled(Field)` color: ${({ hasError }) => (hasError ? "red" : "black")}; `;
Warning: React does not recognize the errorMessage prop on a DOM element.
에러가 났당. 컴포넌트를 감싼
에서만 prop을 쓰고 그 안쪽의 “에서는 errorMessage
prop을 안써서 나는 워닝이다.
Solution
spread operator(...rest
)로 hasError를 제외한 나머지 properties만 Field 컴포넌트에 내려보내주면 된다. 코드 드럽네
const StyledField2 = styled(({ hasError, children, ...rest }) => ( {children} ))` color: ${({ hasError }) => (hasError ? "red" : "black")}; `;
Refer
https://github.com/styled-components/styled-components/issues/305
One thought on “[React] External component를 StyledComponent로 감쌌을 때 ‘Warning: Unknown props’ 워닝 해결”