Material-UI 依赖项:“'react-tap-event-plugin'”没有导出成员 'injectTapEventPlugin'
Material-UI dependencies: ''react-tap-event-plugin'' has no exported member 'injectTapEventPlugin'
我正在与 react/typescript/material-ui/webpack 合作。 Material-UI 依赖于 react-tap-event-plugin
,我在导入 injectTapEventPlugin 函数时遇到问题,这是我得到的错误:
error TS2305: Module ''react-tap-event-plugin'' has no exported member 'injectTapEventPlugin'.
要添加 react-tap-event-plugin
的定义,我使用了以下命令:
sudo typings install dt~react-tap-event-plugin --save --global --save-dev
index.d.ts 看起来像这样:
declare module 'react-tap-event-plugin'{
interface StrategyOverrides {
shouldRejectClick?: (lastTouchEventTimestamp: Date, clickEventTimestamp: Date) => boolean;
}
var injectTapEventPlugin: (strategyOverrides?: StrategyOverrides) => void;
export = injectTapEventPlugin;
}
我正在尝试使用以下方法在我的应用程序中导入插件:
import {injectTapEventPlugin} from 'react-tap-event-plugin';
injectTapEventPlugin();
知道我遗漏了什么吗?
取自github项目中的测试文件
// since the export is a function, this is the only actual correct way:
import injectTapEventPluginRequire = require("react-tap-event-plugin");
如果您的目标是 ES6 并且您正在尝试使用 解决此问题,您可能会得到以下打字稿 warning/error:
"Import assignment cannot be used when targeting ECMAScript 6 modules. Consider using import * as ns from "mod"
, import {a} from "mod"
, or another module format instead.
-@thomas-jespersen 已经对解决方案发表了评论。
错误消息给出了一些解决此问题的方法的建议,但我无法让其中的 none 起作用 - "out of the box" 按照建议。然而,我确实通过这样做让它工作了(这可能会更加完善):
...
import * as injectTapEventPluginExport from 'react-tap-event-plugin';
const injectTapEventPlugin = (injectTapEventPluginExport as any).default;
injectTapEventPlugin();
...
它看起来不漂亮,但它确实有效。
我觉得 inject-tap-event-plugin
的不稳定或过时的打字稿定义是造成这种情况的真正原因。
我正在与 react/typescript/material-ui/webpack 合作。 Material-UI 依赖于 react-tap-event-plugin
,我在导入 injectTapEventPlugin 函数时遇到问题,这是我得到的错误:
error TS2305: Module ''react-tap-event-plugin'' has no exported member 'injectTapEventPlugin'.
要添加 react-tap-event-plugin
的定义,我使用了以下命令:
sudo typings install dt~react-tap-event-plugin --save --global --save-dev
index.d.ts 看起来像这样:
declare module 'react-tap-event-plugin'{
interface StrategyOverrides {
shouldRejectClick?: (lastTouchEventTimestamp: Date, clickEventTimestamp: Date) => boolean;
}
var injectTapEventPlugin: (strategyOverrides?: StrategyOverrides) => void;
export = injectTapEventPlugin;
}
我正在尝试使用以下方法在我的应用程序中导入插件:
import {injectTapEventPlugin} from 'react-tap-event-plugin';
injectTapEventPlugin();
知道我遗漏了什么吗?
取自github项目中的测试文件
// since the export is a function, this is the only actual correct way:
import injectTapEventPluginRequire = require("react-tap-event-plugin");
如果您的目标是 ES6 并且您正在尝试使用
"Import assignment cannot be used when targeting ECMAScript 6 modules. Consider using
import * as ns from "mod"
,import {a} from "mod"
, or another module format instead.
-@thomas-jespersen 已经对解决方案发表了评论。
错误消息给出了一些解决此问题的方法的建议,但我无法让其中的 none 起作用 - "out of the box" 按照建议。然而,我确实通过这样做让它工作了(这可能会更加完善):
...
import * as injectTapEventPluginExport from 'react-tap-event-plugin';
const injectTapEventPlugin = (injectTapEventPluginExport as any).default;
injectTapEventPlugin();
...
它看起来不漂亮,但它确实有效。
我觉得 inject-tap-event-plugin
的不稳定或过时的打字稿定义是造成这种情况的真正原因。