TypeError: undefined is not an object (evaluating 'theme.spacing[radius]')

TypeError: undefined is not an object (evaluating 'theme.spacing[radius]')

我正在使用 React Native 元素库构建 UI。我正在尝试创建一个带有图标的按钮。我最初只是从网站上复制这段代码,没有做任何更改,看看按钮是否有效。

import { Button } from "@rneui/themed";

<Button
              title="Basic Button"
              buttonStyle={{
                backgroundColor: 'rgba(78, 116, 289, 1)',
                borderRadius: 3,
              }}
              containerStyle={{
                width: 200,
                marginHorizontal: 50,
                marginVertical: 10,
              }}
 />

我在应用程序中不断收到此错误

TypeError: undefined is not an object (evaluating 'theme.spacing[radius]')

它来自于Button.js里面的ui.library。我不确定是什么原因造成的。我成功地使用了库中的输入组件,没有任何问题,因此我认为我已经正确安装了它。是什么导致了这个按钮问题?

为什么你不创建带有 touchOpacity 和图标的按钮 它比你使用库更容易

@rneui/base 而不是 @rneui/themed

导入 Button 模块

我也有这个问题。您可以通过将来自 react-native-elements (@rneui) 的 ThemeProvider 组件包装在应用程序的根目录中来解决此问题。例如;

<ThemeProvider theme={myTheme}>
  <Button title="My Button" />
</ThemeProvider>

react-native-elements 的官方迁移指南: https://reactnativeelements.com/docs/migration_guide