jStorage- TypeError:无法读取未定义的属性“ set”

时间:2020-07-24 07:50:43

标签: reactjs jstorage

我已经将jquery和jStorage安装为npm i --save jstoragehttps://www.npmjs.com/package/jstorage)和npm i --save jQuery。我正在尝试使用jStorage并设置值,但出现错误:-

TypeError: Cannot read property 'set' of undefined

App.js

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>
  );
}

1 个答案:

答案 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();