Я невежественный новичок в mobx, который только что обнаружил, что делает странные вещи, такие как передача структуры "holder" в реквизитах внутреннему компоненту, который изменяет его содержимое, и таким образом распространяет изменения во внешний компонент.Это звучит довольно грязно, но передача множества обратных вызовов кажется еще более грязным.
Переданная информация содержит такие вещи, как индекс первого видимого элемента, который является чем-то, что никто, кроме внутреннего компонента, не может и не должен вычислять.Другие компоненты даже не должны знать, что есть полоса прокрутки или что-то подобное.
Я надеюсь, что этот фрагмент иллюстрирует мою проблему.Можете ли вы указать мне чистый раствор?
@observer class Inner {
_someChange = (event) => {
this.props.holder.something = event.something
}
_anotherChange = (whatever) => {
this.props.holder.anotherthing = whatever.anotherthing
}
render() {
return <div>
<Something onClick={this._someChange} onWhatever={this._anotherChange}/>
</div>
}
@observer class Outer {
@observable _holder = {
something: 0,
anotherthing: '',
}
render() {
return <div>
<Inner holder={this._holder}/>
<AComponentNeedingTheHolderContent something={this._holder.something}/>
</div>
}
}