我知道setState可以在设置状态后传递一个回调来执行。但是,有时我有我想要执行的代码,以便在方法调用下“间接”设置状态的几个层。
例如:
this.makeDirty()
this.doThisAfter()
该makeDirty()调用调用了几个方法,其中一个负责调用另一个在状态上设置脏标志的方法。因为这doThisAFter是在设置状态之前调用的。
我知道我可以尝试在各处传递回调以确保它们进入setState回调参数,但这会显着(并且似乎可以避免)增加代码的复杂性和丑陋。
是否有社区接受的解决方案?我想到的一件事是,setState我总是使用一个mySetState总是调用相同回调方法的包装器,而不是使用它,它会寻找可以预填充的其他函数队列的存在。然后有某种API,如:
doSyncronously( func1, func2, funcN...)
将func2...N被放置在由 调用的队列mySetState中func1。
这方面的问题很多,我觉得我可能会弄错。感觉就像我在重新发明轮子或错过了什么。
建议/意见?