Styled Components v3具有空主题对象

时间:2018-02-02 15:57:51

标签: reactjs styled-components

启动应用程序后升级到styled-components @ latest(3.1.0)后,会抛出此错误:

Uncaught TypeError: Cannot read property 'margin' of undefined

经过检查,看起来主题对象在如下定义的组件中是空的:

export const Form = styled.form` ${({ theme }) => theme.layout.margin.all.small}; `;

在此处记录theme会返回{},但是在jsx中的<ThemeProvider>级别,主题会按预期记录,并包含所有值。

如果我降级到2.4.0,它可以正常工作并且符合预期。

2 个答案:

答案 0 :(得分:0)

这可能有多种原因,但我不认为它与v3有任何关系,因为主题API没有改变。

您是否在升级时引入了循环依赖?

答案 1 :(得分:0)

事实证明,有多个版本的样式组件相互冲突。

删除重复项并按预期工作。