以下の反応コンポーネントがあると、複数のコンポーネントから次のコンポーネントをインポートできます。なぜ私は各モジュールにインポートして、インクリメントを呼び出すと、同じインスタンスであるかのように値をインクリメントします。私はいくつかの点検をしたので、それが「窓」に付いているとは思わない。インスタンス化されたクラスをインポートすると、グローバルプロトタイプが設定されます
グローバルプロトタイプが設定されている可能性がありますか?それでも、なぜインスタンス化された同じクラスを一見して更新しているのか説明できません。
import React, { Component } from 'react';
class FeatureFlags extends Component {
constructor (props) {
super (props);
this.featureFlagList = [ 'test': true ];
this.i = 0;
}
get showFeatureFlagList() {
return this.featureFlagList;
}
increment() {
this.i++;
return this.i;
}
setList (list) {
this.featureFlagList = list;
return this.featureFlagList;
}
render() {
return (
<div></div>
);
}
}
export default new FeatureFlags;
//First component -
import FeatureFlags from './FeatureFlags';
console.log('first module ', FeatureFlags.increment()); //Logs 1
//Second component
import FeatureFlags from './FeatureFlags';
console.log('second module ', FeatureFlags.increment()); //Logs 2
私はここにひどくナイーブかもしれませんが、私ドン輸出以外の 'new'キーワードを見ないと、私はそれが同じインスタンスだと言う傾向があります。 – Hodrobond