Итак, проблема в этой экспортной свертке.Вы импортируете кнопку из StyledComponents.jsx
в App.jsx
, которую затем экспортируете как MainButton
, а затем снова импортируете в Banner.jsx
, который отображается в LandingPage
, который отображается в App.jsx
,Уф.Я буквально решил эту проблему, просто переместив определение MainButton
и экспортировав его в другой файл.Я не уверен почему, но это то, что было.Хранить стилизованные компоненты в выделенных файлах - хорошая идея!Например, перемещая MainButton
в другой файл:
/ StyledComponents / StyledComponents.jsx
export const MainButton = styled(Button)`
//styles go here
`;
И затем изменив импорт:
Banner.jsx
import { MainButton } from '../StyledComponents/StyledComponents';
работает просто отлично!
В общем, хотя, если вы хотите наложить материал с помощью styled-компонентов, я хотел бы сохранитьэто в одном файле.Вам не нужно экспортировать их все, если они вам не нужны, но вы также можете:
const TitleBase = styled.h1`
text-transform:uppercase;
font-size: 1rem;
`;
export const GreenTitle = styled(Title)`
color: green;
`;
export const RedTitle = styled(Title)`
color:red;
`;
Просто убедитесь, что они в порядке.Вы не можете определить Title
после RedTitle
например.
Небольшой совет: также можно использовать расширение .js
вместо .jsx
, но вы можете делать все, что захотите!