如何在 UMI 应用程序中访问 DVA Store?
How to access DVA Store in UMI application?
嗨,大多数 React 开发人员会发现 dvaJS 和 umiJS 是状态管理和应用程序开发的天堂。 Dva 是基于 elm
的状态管理工具,使用 react-redux
进行状态管理。
问:如何在 UMI 应用程序中访问 DVA Store,在组件外部或没有 connect
?
问:如何dispatch
DVA存储在UMI应用程序中,在组件外部或没有connect
?
问:如何在UMI应用程序中访问DVA Store,在组件外部或没有connect
?
答:https://v2.umijs.org/guide/with-dva.html#how-to-access-store-or-dispatch
它说使用:
window.g_app._store
问:如何dispatch
DVA存储在UMI应用程序中,在组件外部或没有connect
?
答:https://v2.umijs.org/guide/with-dva.html#how-to-access-store-or-dispatch
它说使用:
window.g_app._store.dispatch('namespace/action')
奖金:
问:如何get state of
DVA 存储在UMI 应用程序中,在组件外部或没有connect
?
答:https://v2.umijs.org/guide/with-dva.html#how-to-access-store-or-dispatch
它说使用:
window.g_app._store.getState()
可用函数:
asyncReducers: {}
dispatch: ƒ ()
getState: ƒ f()
replaceReducer: ƒ (n)
runSaga: ƒ ()
subscribe: ƒ subscribe(listener)
建议:不要直接使用,写一个导出这些函数的Util。
要在 UMI 应用程序中访问或调度 DVA 存储,您可以在功能组件中使用 DVA 挂钩而无需连接。它只能与 DVA v2.6.x.
一起使用
在功能组件中:
- 访问商店:
const state = useSelector(state => state)
// If state in DVA store changed, rendered values in "state" can be changed in page too.
或
const store = useStore()
const state = store.getState()
// If state in DVA store changed, rendered values in "state" won't be changed in page.
- 调度:
const dispatch = useDispatch()
dispatch({type: "namespace/action", payload: 12345})
作为额外参考,以及那些在使用 react
组件上下文之外搜索访问 dva
应用参考的人:
- Umi.js v3+
- 连同 dva 2.6+(根据框架兼容性)
您可以使用 getDvaApp
导出方法:
import { getDvaApp } from 'umi';
const dispatch = getDvaApp()._store.dispatch;
// use the `dispatch`
嗨,大多数 React 开发人员会发现 dvaJS 和 umiJS 是状态管理和应用程序开发的天堂。 Dva 是基于 elm
的状态管理工具,使用 react-redux
进行状态管理。
问:如何在 UMI 应用程序中访问 DVA Store,在组件外部或没有 connect
?
问:如何dispatch
DVA存储在UMI应用程序中,在组件外部或没有connect
?
问:如何在UMI应用程序中访问DVA Store,在组件外部或没有connect
?
答:https://v2.umijs.org/guide/with-dva.html#how-to-access-store-or-dispatch
它说使用:
window.g_app._store
问:如何dispatch
DVA存储在UMI应用程序中,在组件外部或没有connect
?
答:https://v2.umijs.org/guide/with-dva.html#how-to-access-store-or-dispatch
它说使用:
window.g_app._store.dispatch('namespace/action')
奖金:
问:如何get state of
DVA 存储在UMI 应用程序中,在组件外部或没有connect
?
答:https://v2.umijs.org/guide/with-dva.html#how-to-access-store-or-dispatch
它说使用:
window.g_app._store.getState()
可用函数:
asyncReducers: {}
dispatch: ƒ ()
getState: ƒ f()
replaceReducer: ƒ (n)
runSaga: ƒ ()
subscribe: ƒ subscribe(listener)
建议:不要直接使用,写一个导出这些函数的Util。
要在 UMI 应用程序中访问或调度 DVA 存储,您可以在功能组件中使用 DVA 挂钩而无需连接。它只能与 DVA v2.6.x.
一起使用在功能组件中:
- 访问商店:
const state = useSelector(state => state)
// If state in DVA store changed, rendered values in "state" can be changed in page too.
或
const store = useStore()
const state = store.getState()
// If state in DVA store changed, rendered values in "state" won't be changed in page.
- 调度:
const dispatch = useDispatch()
dispatch({type: "namespace/action", payload: 12345})
作为额外参考,以及那些在使用 react
组件上下文之外搜索访问 dva
应用参考的人:
- Umi.js v3+
- 连同 dva 2.6+(根据框架兼容性)
您可以使用 getDvaApp
导出方法:
import { getDvaApp } from 'umi';
const dispatch = getDvaApp()._store.dispatch;
// use the `dispatch`