批量更新

iFlow默认每次进行State改变的时候都将进行更新通知,但是有时Action可能有多次的state同步执行改变,我们希望它执行结束在一起通知更新,那么这时候我们就必须使用batch来合并更新了。

例如

import iFlow, { batch } from 'iflow'
const store = iFlow({
  foobar: [],
  multiPush: batch(function(){
    this.foobar.push(1)
    this.foobar.push(1)
    this.foobar.push(1)
  })
})

store.multiPush()  // It will batch update.

同样的,如果你设计的结构是class,那么建议你使用它的装饰器@batch()

import iFlow, { external } from 'iflow'
const store = iFlow(new class {
    foobar = []
    @batch()
    multiPush(){
      this.foobar.push(1)
      this.foobar.push(1)
      this.foobar.push(1)
    }
})

store.multiPush()  // It will batch update.

更多详细说明请查看相关batchAPI文档。

results matching ""

    No results matching ""