我曾踏足山巅,也曾进入低谷,二者都让我受益良多。——《英雄联盟》瓦洛兰之盾塔里克
上一期:Apache-ShenYu支持namespace功能
喜闻乐见,这是个连续系列,今天主要是给shenyu-dashboard
的selector
部分添加namespace
适配
PR
连接:
https://github.com/apache/shenyu-dashboard/pull/471
这里有一个知识点
代码语言:javascript复制import { connect } from "dva";
@connect(({ global }) => ({
currentNamespaceId: global.currentNamespaceId,
}))
class RuleCopy extends Component {}
装饰器语法 @connect
来连接组件与 dva
的状态管理。@connect
是一个高阶函数,通常用于将 Redux store(在 dva
中表现为 model)中的状态映射到组件的 props 中。
({ global }) => ({ currentNamespaceId: global.currentNamespaceId })
是一个映射函数,用于从 dva
的全局状态中提取数据,并将其作为 props 传递给组件。
global
是dva
中的一个 model(模型),它包含了应用的全局状态。currentNamespaceId
是从global
模型中提取的一个状态属性。这个属性的值将被映射到RuleCopy
组件的 props 中。
因此在RuleCopy
里可以使用props.currentNamespaceId
得到响应式currentNamespaceId