In My Previous post Style React component with styled-components : Part-1 , I wrote how we can start using styled-components and we created one Spinner component with it.
Now we can see, how we can pass props to the styled component named StyledSpinner and change the color/behavior of it.
For this example, I will change the border color by passing prop. So, the styled component will show the color what we pass to it.
Let's use props for the border color.
border: 16px solid ${props => props.color || "red"}; Here, we can see, I changed the border color #f3f3f3; to ${props => props.color || "red"} which means if any prop is passed it will use that, otherwise it will use red by default.
Cool!
The implementation of this Styled component will be like this-
const StyledSpinner = styled.div` border: 16px solid ${props => props.color || "red"}; border-radius: 50%; border-top: 16px solid #3498db; width: 120px; height: 120px; -webkit-animation: spin 2s linear infinite; /* Safari */ animation: spin 2s linear infinite; @keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } `; Now we can use this StyledSpinner in our React Component and pass prop named color.
<StyledSpinner color="#f3f3f3" /> Now, I want to add another StyledSpinner without passing any color prop and it should use the default red color.
render() { return ( <Fragment> <StyledSpinner color="#f3f3f3" /> <hr /> <StyledSpinner /> </Fragment> ); } Let's see how they look.
Cool, as we expected!
Hope, someone finds this useful.
Cheers!
๐
As I am trying to contribute contents on the Web, you can buy me a coffee for my hours spent on all of these โค๏ธ๐๐ธ

My Blog: https://shahjada.me


Top comments (0)