我是 React Native 的新手,目前在 react native 中创建应用程序。我想可视化一个仪表图,非常喜欢这个包:https://www.npmjs.com/package/react-gauge-chart。但是我不断收到相同的错误,我将解释这些错误,我不知道如何修复它们,并且在 stackoverflow 上没有答案
我已确保将包安装为“npm install react-gauge-chart”,并确保导入来自存储包的位置 - 指向“导出默认函数 GaugeChart(props: GaugeChartProps): React.ReactElement;"它存储在 node_modules 中 @types 文件夹中的 react-gauge-chart 文件夹中的 index.d.ts 文件中。
然后我将它导入到我希望它出现的屏幕中,“从“react-gauge-chart”导入 GaugeChart;”然后多次尝试使用以下命令将 GaugeChart 放入返回部分,GaugeChart/
, < GaugeChart id="something" / > 甚至复制一个示例以显示图表或任何图表。
我已经将 GaugeChart
包裹在从 View
到 div
再到 < > 的所有内容中,并且没有简单地将其插入页面上已有的两个文本标签之间。
但是,当我运行时,我不断收到此错误:“不变违规:组件 div
的视图配置 getter 回调必须是一个函数(收到 undefined
)。确保以大写字母开头组件名称。”就在它下面显示了位置,并说:
此错误位于:in div (created by GaugeChart)
我搜索了 StackOverflow 并找到了答案,只需更改:“import GaugeChart from “react-gauge-chart”;”到“从“react-gauge-chart”导入 {GaugeChart};”。
我这样做了,但后来我遇到了另一个错误:
“警告:React.jsx:类型无效——需要一个字符串(对于内置组件)或一个类/函数(对于复合组件)但得到:未定义。您可能忘记从定义的文件中导出组件,或者您可能混淆了默认和命名导入。”
当我搜索 stackoverflow 时,它说解决这个问题的方法恰好是我所做的更改:“import {GaugeChart} from "react-gauge-chart";”到“从“react-gauge-chart”导入 GaugeChart;”。
然后我尝试继续下载一个单独的包,例如:https://www.npmjs.com/package/react-d3-speedometer,完全按照它的布局进行操作,但是我最终得到了完全相同的错误。
我不知道如何解决这个问题,任何帮助将不胜感激。谢谢。
回答1
React UI 库是基于 Web 组件构建的,在 React Native 中不起作用。 React 中的 div 是 React Native 中的视图。你可以
- 找到为 React Native 构建的类似库(这是一个快速搜索出现的库,但它似乎没有您列出的那些细节:https://github.com/LucasMonteiro1/react-native-speedometer-chart)
- 根据 React 库的构建方式制作自己的组件