如何扩展样式化组件?

use*_*776 3 styled-components

我有一个样式化的组件:

interface FlexContainerProps {
    children: any;
    className?: string;
}

function FlexContainer(props: FlexContainerProps) {
    const Container = styled.div`
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
    `;
    return (
        <Container className={props.className}>
            {props.children}
        </Container>
    );
}
Run Code Online (Sandbox Code Playgroud)

我希望能够在组件中使用它时对其进行扩展。

由于“扩展”类的特异性较低(或在代码的后面),因此以下内容不起作用。

const FlexContainerExtended = styled(FlexContainer)`
    flex-direction: column-reverse;
`;
Run Code Online (Sandbox Code Playgroud)

下面的作品,但很hacky

const FlexContainerExtended = styled(FlexContainer)`
    flex-direction: column-reverse !important;
`;
Run Code Online (Sandbox Code Playgroud)

还有另一种扩展样式化组件的方法吗?

Dev*_*eve 11

您可以这样做:

const FlexContainer = styled.div`
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
 `


 const FlexContainerExtended = styled(FlexContainer)`
     flex-direction: column-reverse;
 `; 
Run Code Online (Sandbox Code Playgroud)