Namespacing styled-components
By keeping our styled-components in a separate file, we can import them under a namespace like “ui”. We can then tell by a component’s ui. prefix that it is one of our styled-components.
/* components/MyComponent/styles.js */
import styled from "styled-components"
 
export const Title = styled.h1`
  font-size: 2rem;
  line-height: 1.35;
`
 
export const Description = styled.p`
  font-size: 1.6rem;
  line-height: 1.5;
`/* components/MyComponent/styles.js */
import styled from "styled-components"
 
export const Title = styled.h1`
  font-size: 2rem;
  line-height: 1.35;
`
 
export const Description = styled.p`
  font-size: 1.6rem;
  line-height: 1.5;
`/* components/MyComponent/styles.js */
import styled from "styled-components"
 
export const Title = styled.h1`
  font-size: 2rem;
  line-height: 1.35;
`
 
export const Description = styled.p`
  font-size: 1.6rem;
  line-height: 1.5;
`/* components/MyComponent/styles.js */
import styled from "styled-components"
 
export const Title = styled.h1`
  font-size: 2rem;
  line-height: 1.35;
`
 
export const Description = styled.p`
  font-size: 1.6rem;
  line-height: 1.5;
`/* components/MyComponent/index.js */
import React from "react"
import SomeOtherComponent from "../SomeOtherComponent"
import * as ui from "./styles"
 
const MyComponent = ({ title, description }) => {
  return (
    <div>
      <ui.Title> <!-- must be a styled component -->
        {title}
      </ui.Title>
 
      <ui.Description> <!-- must be a styled component -->
        {description}
      </ui.Description>
 
      <SomeOtherComponent /> <!-- NOT a styled component -->
    </div>
  )
}
 
export default MyComponent/* components/MyComponent/index.js */
import React from "react"
import SomeOtherComponent from "../SomeOtherComponent"
import * as ui from "./styles"
 
const MyComponent = ({ title, description }) => {
  return (
    <div>
      <ui.Title> <!-- must be a styled component -->
        {title}
      </ui.Title>
 
      <ui.Description> <!-- must be a styled component -->
        {description}
      </ui.Description>
 
      <SomeOtherComponent /> <!-- NOT a styled component -->
    </div>
  )
}
 
export default MyComponent/* components/MyComponent/index.js */
import React from "react"
import SomeOtherComponent from "../SomeOtherComponent"
import * as ui from "./styles"
 
const MyComponent = ({ title, description }) => {
  return (
    <div>
      <ui.Title> <!-- must be a styled component -->
        {title}
      </ui.Title>
 
      <ui.Description> <!-- must be a styled component -->
        {description}
      </ui.Description>
 
      <SomeOtherComponent /> <!-- NOT a styled component -->
    </div>
  )
}
 
export default MyComponent/* components/MyComponent/index.js */
import React from "react"
import SomeOtherComponent from "../SomeOtherComponent"
import * as ui from "./styles"
 
const MyComponent = ({ title, description }) => {
  return (
    <div>
      <ui.Title> <!-- must be a styled component -->
        {title}
      </ui.Title>
 
      <ui.Description> <!-- must be a styled component -->
        {description}
      </ui.Description>
 
      <SomeOtherComponent /> <!-- NOT a styled component -->
    </div>
  )
}
 
export default MyComponent