2017-05-24 10 views
0

ReactコンポーネントのユニークなIDを作成しようとしています。私は、このモジュールを作成しました:NodeJSモジュールでグローバルカウンタを作成する

var _uid = 0; 

function getUid(): { 
    ++_uid; 
    return `_uid_${_uid}`; 
} 

export default getUid; 

は、私はそれをモジュールが必要とされるたびに増加達成するにはどうすればよい_uidは、モジュール関数が呼び出されるたびに増加するだろうが、それは常に1であることを期待しますか?

+0

'VARの_uid:番号= 0;'通常のJavaScriptではありません。他の言語を使っているのですか? – jfriend00

+0

@ jfriend00よく流れますが、JavaScriptにコンパイルされます。申し訳ありませんが、私はタイプの注釈を忘れてしまった! – Victor

+0

その後、適切な言語でタグを付けてください。 – jfriend00

答えて

0

のJavaスクリプトの閉鎖があり、次のことに役立ちます。

var getUid = (function(){ 
     var _uid: number = 0; 
     return function(){ 
     ++_uid; 
     return `_uid_${_uid}`; 
     } 
    })(); 

export default getUid; 
+1

これを説明できますか?私はなぜこれが効くのだろうか? – Victor

+0

ここでは匿名関数であるため一度しかintilizeされていません。一度呼び出すとgetUidに内部関数が返されますので、getUidが必要なときには既存の値がインクリメントされます –

+0

OPの元のコードよりも。 – jfriend00

関連する問題