基本的には、私のページを反応させ、ユーザーの入力/選択に基づいて結果を出したいと思っています。私のコードのこの部分を反応させるにはどうすればいいですか? (Meteor + React)
私は辞書は、ユーザーの選択肢を持つオブジェクトとキーごとの選択肢の量(EXです(小道具を経由して、親から子コンポーネントに、ユーザーの選択肢を渡す:私は、子コンポーネントで
<Childcomp aggregate={this.props.dictionary}/>
:dictionary = {Gallileo: 2, Juno: 1, Mars: 1}
)単純なループとcomponentWillMount()
方法を経由して状態変数に選択し、投票数:
componentWillMount(){
let obj = this.props.aggregate // {Gallileo: 2, Juno: 1, Mars: 1}
let choice;
for(let key in obj){
if(key === this.props.option){
choice = obj[key];
break;
}
};
let total = 0;
for(let key in obj){
total += obj[key];
}
this.setState({choice: choice, total: total});
};
私はこれを持っている問題は、入力を受信したときの状態変数が値を変更しないということですthis.props.aggregate
反応的に変化するが、それ以降のすべては反応しない。
私はセッション変数を使ってリアクティブにしてみましたが、コードをTracker.autorun()
に配置しようとしましたが、運がありません。
オブジェクトのforループはまったくトリガーされません。これは、this.props.aggregateプロップがシームレスに更新されても、状態変数が決して更新されない理由を説明しています。
あなたは男です!私がリアクトを知っていると思ったとき、私は新しいことを学びます。ありがとう、トン。 –