我在我的反应项目中使用了kendo-ui。导入和使用Menu组件的代码如下:
import React from 'react';
import { Menu, MenuItem } from '@progress/kendo-layout-react-wrapper';
const AppHeader = () => {
return (
<Menu>
<MenuItem>
Test Item
</MenuItem>
</Menu>
)
}
export default AppHeader;
它编译得很好,但在渲染时会抛出以下错误:
ReferenceError: kendo is not defined
Menu../node_modules/@progress/kendo-layout-react-wrapper/dist/es/menu/menu.js.Menu.componentDidMount
E:/projects/eucerin/node_modules/@progress/kendo-layout-react-wrapper/dist/es/menu/menu.js:31
28 | Menu.prototype.componentDidMount = function () {
29 | var domNode = ReactDOM.findDOMNode(this);
30 | var _a = this.props, children = _a.children, widgetRef = _a.widgetRef, props = __rest(_a, ["children", "widgetRef"]);
> 31 | this.widgetInstance = new kendo.ui.Menu(domNode, props);
32 | _super.prototype.componentDidMount.call(this);
33 | };
34 | Menu.prototype.componentWillReceiveProps = function (nextProps) {
我想我在这里错过了依赖。有人可以让我知道吗?
由于
答案 0 :(得分:2)
我有同样的问题。 由于某种原因,我不得不以这种方式导入剑道:
import from '@progress/kendo-ui';
希望有帮助。
答案 1 :(得分:1)
我遇到了类似的问题并提出了问题React Kendo UI TreeView throws 'kendo is not defined'
我找到了来自KendoUI plunker示例TreeView Example
的解决方案Kendo UI指令是:
Dependencies
The TreeView package requires you to install the following peer dependencies in your application:
我们必须安装它,但这还不够。 KendoUI团队所做的是明确地在代码中导入@progress/kendo-ui
:
import kendo from '@progress/kendo-ui';
希望它有所帮助。
答案 2 :(得分:0)
从source开始,您还需要1个基本依赖关系才能使用kendo-layout-react-wrapper
:
@progress/kendo-base-component-react-wrapper
要安装并另存为依赖项,请使用:
npm install --save @progress/kendo-base-component-react-wrapper
答案 3 :(得分:0)
我认为你错过了peer dependency (@progress/kendo-ui)。
在项目文件夹中键入npm install --save @progress/kendo-ui
并再次编译您的前端以查看它是否修复了错误。