想在一个函数组件内访问全局global状态以及当前业务模块状态,但是貌似API不支持访问,computed也是如此,访问出来都是undefined

发布于 2020-11-21 13:08
共1个回答
AD
游客AdtNgf

支持的,所有组件能能够访问全局模块的状态和计算,一个组件只能属于一个模块,模块但是能连接多个模块

function Demo(){
  const { 
   moduleState, moduleComputed, connectedState, connectedComputed, globalState, globalComputed 
   } = useConcent({module: 'counter', connect:['modA', 'modB']});

   // moduleState, moduleComputed 是 所属模块的状态和计算结果
   // globalState,globalComputed 是 全局模块的状态和计算结果
   // connectedState.modA.{keyName} 访问连接模块modA的状态
   // connectedComputed.modA.{keyName}  访问连接模块modA的计算结果
}

更多细节可参考api文档 https://concentjs.github.io/concent-doc/api-much-used/useConcent 或在线示例 https://codesandbox.io/s/concent-guide-xvcej

如果某个组件仅访问数据,不想订阅变化被触发重渲染,可以使用全局api

import { getState, getComputed } from 'concent';

function Test(){
  const rootState = getState();
  const rootCu = getComputed();
  // ...
}
回答问题