我第一次玩styled-components
,並且我正在與僅用於風格元件本身的道具傳遞問題。停止道具被傳遞給帶風格元件的兒童
這裏是我的組件:
import { Link } from 'react-router-dom';
const CtaButton = styled(Link)`
background: ${props => props.primary ? 'red' : 'yellow'}
color: white;
display: inline-block;
padding: 0.5em 1em;
`;
當我調用這個與primary
道具,我從react
是我申請的primary
道具的<a />
元素警告。我明白爲什麼會發生這種情況 - 但我該如何阻止它呢?
我當然可以在react-router
的Link
組件上創建一個包裝,以剝離此道具 - 但這樣做會很笨拙。我相信這只是我在這個庫的API中不是一個專業人士 - 所以有人可以請我指出正確的方向嗎?
由於某種原因,當我直接創建DOM組件時(例如styled.a
),我沒有這個問題。