鍍金池/ 問答/HTML/ dva-loading 使用問題

dva-loading 使用問題

  1. models/order.js 為組件的model文件
  2. index.js中配置loading
import createLoading from 'dva-loading'
app.use(createLoading({
    globale: false,
    models: {
        order: false
    }
}))

問題是,models/order.js 中可能存在多個接口,多個state, 在views/order中存在Table,Card等多個組件,每個組件都使用loading 屬性,使用方式

render(){
    const {loading} = this.props
    // ....省略
    return (
        <Table loading= {loading.global}/>
        <Card loading = {loading.global} />
    )
}

clipboard.png

Card中如果重新調(diào)用接口, C區(qū)域的Card 類似Tab,Tab點擊時會重新發(fā)起請求,問題就是Tab 切換發(fā)起請求的時候,A區(qū)域,B區(qū)域loading都會重置,由true 變成false , 求各位大小牛指點下,應(yīng)該怎么解決~ 謝謝!

回答
編輯回答
紓惘

loading可以細(xì)化到每個model里的effect,比如order model里有三個effect,分別是fetchOrder, fetchOrderTran, fetchOrderOps分別對應(yīng)A,B,C區(qū)域。loading對應(yīng)可以為loading.effects['order/fetchOrder'],loading.effects['order/fetchOrderTran'],loading.effects['order/fetchOrderOps']。這樣就互相不影響了。

2017年7月12日 05:47