2017-08-12 5 views
0

現在、React.jsでExpress.jsを使用しています。ページをリフレッシュすると、特定のプロパティを持続させる方法について考えていました。私が反応コンポーネントのチェックボックス(真)に設定されたデフォルト値を持っているExpress.js/React.jsページのリフレッシュ時の状態の永続性

  • 現在、私のセットアップは、このようなものです。ユーザーはチェックボックスをクリックして、値を真/偽にすることができます。

  • 私は自動的にユーザーをログアウトし、(このタイマは自動的にユーザーとの対話に更新されます - 基本的にアイドル時間に基づいて)一定時間後にセッションを破棄タイマーを持って

あります(セッションがまだ有効であると仮定して)チェックボックスの現在の値をセッションに結びつける(セッションがまだ有効であると仮定して)
1)チェックボックスの値を保存する
2)ページがリロードされたときにチェックボックスの現在の値をロードするリフレッシュ後、初期負荷のデフォルト値を使用)

+2

状態を保存するには、クライアント側またはサーバー側で何らかの種類のストレージを使用する必要があります。そのためにはlocalStorageを使うことをお勧めします。 – Dekel

答えて

1

ローカルストレージに保存し、データの有効期限を設定する時間を設定します。このforexampleよう 何か:

var timeNow = new Date(); 
var expires = new Date() //set the expiration date 

checkboxGetter(){ 
if (timeNow<=expires){ 
var checkboxGetter = JSON.parse(sessionStorage.getItem('checkbox')); 
} 
else{ 
sessionStorage.removeItem("checkbox"); 
console.log("expired") 
} 
} 

checkboxSetter(checkbox){ 
sessionStrage.setItem('checkbox',JSON.stringify(checkbox)); 
} 

はあなたがブラウザを閉じたり、他のbenifitsうとした場合にデータがブラウザに滞在したい場合は、のlocalStorageでのsessionStorageを変更することができます。

+1

これは良い答えです。私はまた、このリソースを使用して終了:https://lpasslack.gitbooks.io/react-applications-with-idiomatic-redux/content/docs/03-Persisting_the_State_to_the_Local_Storage.html –

関連する問題