简体   繁体   中英

Shared css declarations to styled component with props

I have some css declarations shared with multiple style-components.

For example:

margin-top:${props.marginTop};
margin-bottom:${props.marginBottom};

So i know can add file with:

export const baseStyles = css`
  margin-top: 10px;
  margin-bottom: 10px;
`;

and then import it and use:

const MyComponent = styled.div`
  ${(props: Props) => {
    return css`
      ${baseStyles};
    `;
  }}
`;

But is there a way to this and still have the current component props used inside ${baseStyled} ?

props are automatically provided inside of mixins.

export const baseStyles = css`
  margin-top: ${(props) => props.marginTop};
  margin-bottom:${(props) => props.marginBottom};
`;

const MyComponent = styled.div`
  ${baseStyles}
`;

const App = () => {
  return (
    <MyComponent marginTop="12px" marginBottom="16px" />
  )
};

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM