2017-05-29 7 views
0

私はそれを理解できません。これらの人々は私のReactプロジェクトでまだ未定義のlocalStorageまたはsessionStorageについて話しています。彼らはどのようにして実際のWeb APIからそのオブジェクトを取得していますか?ReactでWeb APIのsessionStorageオブジェクトにアクセスする方法

例:

persistent-state-reactjs

redux-sessionstorage

react-redux-jwt-auth-example

これらのショーのそれぞれがのlocalStorageかのsessionStorageを呼び出すことが、どのように?私はそれらに得るためにlibsを使用してそれらを見ることはありません。私が想像できるのは、ファントムやキャスパーのようなものを使用していることだけです。私はその3番目のURLのpackage.jsonに幻影しか見ません。それでも、私は彼がファントムをどのように突き上げているのか分からないし、もし彼がlocalStorageのインスタンスを持っていないのであれば? enter image description here

+0

あなたのアプリケーションサーバーはレンダリングされていますか?そうであれば、サーバレンダリングと言うとlocalStorageとsessionStorage –

答えて

0

localStoragesessionStorageウェブAPIからオブジェクトを内蔵しているので、あなたはフロントエンドでそれらを使用している場合は、それらを使用するすべてのライブラリを必要としません。私の推測では、localStoragesessionStorageはあなたの反応アプリがサーバーレンダリングされているため利用できません。あなたは、あなたのアプリのどこかで以下のコードを実行することによってそれらをテストすることができます。それらが存在しない場合でも、あなたのアプリケーションをサーバレンダリングしたい場合は、https://www.npmjs.com/package/web-storageのようなライブラリを使うことができます。

try { 
 
    // localstorage or sessionstorage init 
 
    // ... 
 
} catch (e) { 
 
    // they are not defined, use a library 
 
    console.log(e); // look at error 
 
    
 
    // if localStorage is not defined, use a library 
 
    window.localStorage = require('web-storage')().localStorage; 
 
}

この情報がお役に立てば幸いです。

+0

を取得しません。これは同形アプリではありません。私は単にreact-reduxを使っています。 – PositiveGuy

+0

私は何かを逃したかもしれないと思う。コードコード 'let token = localStorage.getItem( 'token')'が解決するのは何ですか?それはnullか定義されていませんか? 'console.log(localStorage)'を実行するとどうなりますか? –

関連する問題