样式组件 ThemeProvider 在 React Native => Expo Web 构建中中断

All*_*ual 3 styled-components react-native-web expo

我\xe2\x80\x99m 正在处理一个小型博览会项目设置,我在其中为 iOS/Android 和 Web 进行开发。我最近想向项目添加样式组件,并让 Web 和移动设备的所有内容都启动并运行,直到我开始使用主题提供程序和主题道具。我 99% 确信我应该正确完成所有操作,因为它适用于移动设备,但我在 Web 版本中遇到 JS 异常。

\n
    \n
  • 我\xe2\x80\x99 已经为主题创建了一个类型,我知道它有效,因为当我尝试向主题添加错误的内容时,我的 IDE 会告诉我。
  • \n
  • I\xe2\x80\x99ve 创建了一个 theme.ts 并将其导入到 I\xe2\x80\x99ve 实现 ThemeProvider 的组件中。我知道这是有效的,因为当访问 prop.theme 时,我会自动完成,正如我所说,它适用于移动设备。
  • \n
\n
const Container = styled.View`\n    background-color: ${props => props.theme.color.primary};\n`\n
Run Code Online (Sandbox Code Playgroud)\n

这是我收到的错误:\n TypeError: 无法读取未定义的属性 \xe2\x80\x98primary\xe2\x80\x99

\n

我怀疑这可能与 expo\xe2\x80\x99s 捆绑程序和缺少加载程序或其他东西有关?我不知道\xe2\x80\x99。据我所知,我按照文档中的说明进行了所有操作,并怀疑这是 Expo Web 和 ThemeProvider 的问题。

\n

这些是我正在使用的相关软件包:

\n
"expo": "~39.0.2"\n"styled-components": "^5.2.1"\n"@babel/core": "~7.9.0"\n
Run Code Online (Sandbox Code Playgroud)\n

我被这个问题所困扰,因为我需要决定是否继续使用样式化组件或不使用它们。

\n

All*_*ual 8

事实证明,当您从“styled-components”导入 ThemeProvider,然后使用“styled-components/native”时,iOS 和 Android 构建仍然可以工作,但 Web 会中断......

这是我的错误。到处使用“styled-components/native”!愚蠢的我