我有一个样式化的组件:

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>
    );
}


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

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

const FlexContainerExtended = styled(FlexContainer)`
    flex-direction: column-reverse;
`;


下面的作品,但很hacky

const FlexContainerExtended = styled(FlexContainer)`
    flex-direction: column-reverse !important;
`;


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

最佳答案

您可以这样做:

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


 const FlexContainerExtended = styled(FlexContainer)`
     flex-direction: column-reverse;
 `;

关于styled-components - 如何扩展样式化组件?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52966623/

10-10 09:01