0
これは、AppState(Mobx)値が10に等しい(@observable number)
のプロパティとnumberがmobx rerenderを変更したときに、2つのボタン(デクリメント、インクリメント)それはうまく動作するコンポーネントです。mobx observeコンポーネントはトリガーしませんcomponentDidMountメソッド
私はそれが理にかなっているが、私はこれを編集するたびに番号を確認するために必要なページロード後のみであっ停止し、componentDidMount内
@observer
class Questions extends Component{
constructor(props){
super(props)
this.appState=this.props.appState
}
componentDidMount(){
debugger
if(this.appState.num==10){
document.getElementById("btnDecrement").style.visibility = "hidden";
}
else{
document.getElementById("btnDecrement").style.visibility = "block";
}
}
...
render(){
return(
<div>
...
<button id="btnDecrement" onClick={()=>{this.appState.decrementNumber()}} type="button" className="btn btn-default btn-lg">
Decrement
</button>
<button type="button" onClick={()=>{this.incrementNumber()}} className="btn btn-default btn-lg">
Increment;
</button>
</div>
)
}
}
}
をデバッガを置きます。
編集されました:mobxはこのように動作します。componentDidMountは、一度マウントするとトリガーするだけです。しかし、ここで私のロジックを「効率的な方法」でどのように扱うことができますか?