样式组件:覆盖多个模块中的组件样式

时间:2018-06-04 22:09:31

标签: javascript css reactjs styles styled-components

例如我有标签模块: tabs.js

import styled from 'styled-components';

export const Tabs = styled.div`
  background-color: red;
`;

我有手风琴模块: accordion.js

export const Accordion = styled.div`
  background-color: green;
`;

如果我想覆盖位于Accordion组件内的Tabs组件的样式,我可以这样做: accordion.js

import { Tabs } from 'tabs';

export const Accordion = styled.div`
  background-color: green;

  & ${Tabs} {
    background-color: pink;
  }
`;

一切顺利。但现在有两个问题:

1)如果我现在想要覆盖位于Tabs组件内的Accordion组件的样式怎么办? 我不能这样做,因为手风琴模块从标签模块导入,因此标签模块现在无法从手风琴导入。 怎么解决?

2)因为一个模块从另一个模块导入以覆盖样式,所以我无法异步和单独加载这两个模块。 怎么解决?

也许这类案件有最佳做法?

0 个答案:

没有答案