我是一位初学者开发人员,正在开发一个基于React ( Gatsby, TS, styled components )的项目。我遇到了这个错误:
"React无法识别 DOM 元素上的 isOpen
属性。如果您有意让它出现在 DOM 中作为自定义属性,请将其拼写为小写的 isopen
。如果您不小心从父组件传递了它,请从DOM元素中删除它。"
export const Navigation = () => {
const [isNavigationOpen, setIsNavigationOpen] = useState(false);
const { isTablet } = useQuery();
const showNavbar = () => {
setIsNavigationOpen((previousState) => !previousState);
};
const renderElement = isTablet ? (
<>
<SvgStyled
src='bars_icon'
isOpen={isNavigationOpen}
onClick={showNavbar}
/>
<MobileNavigation isOpen={isNavigationOpen}>
{NAVIGATION_DATA.map(({ id, url, text }) => (
<LinkMobile key={id} to={url}>
<ExtraSmallParagraph>{text}</ExtraSmallParagraph>
</LinkMobile>
))}
</MobileNavigation>
</>
) : (
<FlexWrapper>
{NAVIGATION_DATA.map(({ id, url, text }) => (
<LinkDekstop key={id} to={url}>
<ExtraSmallParagraph>{text}</ExtraSmallParagraph>
</LinkDekstop>
))}
</FlexWrapper>
);
return renderElement;
};
我相信我错过了某些基本的React知识或其他内容。也许有人能帮助我解释这个错误的原因。
SvgStyled
组件的代码吗? - Drew Reesetransition: 0.3s; cursor: pointer; ${({ isOpen }) => isOpen &&
transform: rotate(90deg);`}; &:hover { ${({ isOpen }) => isOpen ?transform: rotate(90deg);
:transform: scale(0.98);
}; } `; - Dovtutis