【发布时间】:2017-03-02 11:48:43
【问题描述】:
我正在将 Reactjs 逐步集成到使用 HTML5 和 jQuery 构建的 Web 应用程序前端。我的反应组件使用全局 jQuery 对象(用于 AJAX 和一些动画),当反应组件 javascript 加载时可用。
现在,当我尝试 mount() 这个组件进行 Enzyme 测试时,出现以下错误
ReferenceError: jQuery is not defined
如何使jQuery 对象可用于已安装的组件?
Testing a React component that uses jQuery & window object 是一个类似的问题,有 0 个答案...
如有必要,我愿意更新组件代码。
任何帮助将不胜感激。
编辑
我的组件的示例代码
import React from 'react';
export default class MySimpleComponent extends React.Component {
constructor(props) {
super(props);
}
componentDidMount() {
var add_btn = this.refs.btn_add;
(function ($) {
$(add_btn).click(function (ev) {
ev.preventDefault();
console.log('button was clicked');
});
})(jQuery);
}
render() {
return (
<div className="wrap">
<form action="/">
<input type="text" name="myinput" value="" />
<button className="button" ref="btn_add">New Record</button>
</form>
</div>
);
}
}
【问题讨论】:
-
能否把组件代码贴出来
-
@spirift 我已经添加了代码