我已经将jquery和jStorage安装为npm i --save jstorage
(https://www.npmjs.com/package/jstorage)和npm i --save jQuery
。我正在尝试使用jStorage并设置值,但出现错误:-
TypeError: Cannot read property 'set' of undefined
import $ from 'jquery';
const App = props => {
const swithHandle = (function () {
console.log('hi'); // correct output
// localStorage.setItem('rememberMe', '323232dd'); // correct output
$.jStorage.set("mykey", "keyvalue"); //TypeError: Cannot read property 'set' of undefined
}());
return (
<BrowserRouter>
<div className="App" onClick={swithHandle()}>
<Navbar />
</div>
</BrowserRouter>
);
}
答案 0 :(得分:0)
jStorage库似乎正在页面中全局保存自身,并且似乎通过其典型名称$
与实际的jQuery库没有联系。
因此,以下代码示例说明了如何在应用程序中同时使用它们:
import $ from 'jquery';
import 'jstorage';
// this is how you use jQuery
$('#some_element').val();
// this is how you use jStorage
window.$.jStorage.set('a', 'b');
请记住,window.$
是 不是 jQuery。
为进一步避免混淆,如果您打算使用jQuery本身,建议您将其导入命名为不同于$
的名称,例如:
import jQuery from 'jquery';
jQuery('#some_element').val();