javascript - Styled-Components text eller stycken
Är det möjligt att styla text eller stycken med styled-components? Om ja, hur kan jag skicka text till komponenten?
Till exempel, jag hade denna Footer-komponent:
const Footer = () => (
<footer className="site-footer">
<p className="text"> HELLO</p>
<Copyright
link={'https://hotmail.com'}
text={'HELOO'}></Copyright>
</footer>
);
export default Footer;
Jag ville byta från globala klasser till CSS i JS, vilket är anledningen till att jag tänkte på att använda styled-components. Nu testade jag detta:
export const StyledText = styled.text`
text: Hellooo
color: white;
text-align: center;
`
Men om jag kommenterar ut stycket och använder StyledText-komponenten visas inget. Om jag försöker skicka Styled Component text={'HELLO'} kraschar min app. Hur kan jag omvandla min footer på ett sätt som använder styled-components?
Svar #1
Du kan uppdatera din komponent så att den ser ut så här:
import styled from 'styled-components';
const StyledText = styled.p`
color: white;
text-align: center;
`;
export default function Footer({text}){
return <footer className="site-footer">
<StyledText>{text}</StyledText>
<Copyright
link={'https://hotmail.com'}
text={text}/>
</footer>;
}
Du kommer att kunna kalla på din Footer-komponent så här:
<Footer text="HELLO"/>
Hoppas det här hjälper,
Svar #2
styled-components hanterar bara stilarna för en komponent och inte innehållet. Alla children kommer att bevaras, så du kan göra något som detta:
// JSX
<StyledText>Hello</StyledText>
// StyledText.js
export default styled.p`
color: white;
text-align: center;
`;
