我是一个笨拙的mobx初学者,只是发现自己在做一些奇怪的事情,比如在props中传递一个"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>
}
}
转载请注明出处:http://www.xiangbinbaiyi.com/article/20230529/2526528.html