交互接口:判断函数
Methods
(static) isAuthorized(reference) → {any}
「引擎」Ux.isAuthorized
登录控制专用跳转方法,如果已登录则不执行任何跳转,如果未登录则跳转到登录界面,并且加上当前页面实现target
计算。
Parameters:
Name | Type | Description |
---|---|---|
reference |
Object | ReactComponent | React组件引用。 |
Returns:
跳转专用
- Type
- any
(static) isLoaded(props, prevProps) → {*}
「引擎」Ux.isLoaded
Parameters:
Name | Type | Description |
---|---|---|
props |
||
prevProps |
Returns:
- Type
- *
(static) isRoute(props, prevProps) → {boolean}
「引擎」Ux.isRoute
连接 react-router
中的路由对象执行判断,判断当前界面是否执行了路由变化,如果出现变化则返回 true,如果没出现变化则 false。
主要检查路由地址是否发生了变化。
Zero Ui对react-router
执行了数据结构层面的封装,构造了新的TypeScript对象DataRouter
,并且这个对象贯穿于整个
Zero Ui生成$router
变量,检查时会执行path()
函数的检查,检查Uri地址是否发生了改变,如果改变则执行跳转,如果
没有发生任何改变,则不需要跳转。
代码示例:
// 主页 / 动态 / 静态页面切换的 BUG
if (Ux.isRoute(this.props, prevProps)) {
const state = Ux.clone(this.state);
state.$hoc = Fn.fnI18n(target, options);
state.$op = Fn.fnOp(options);
this.setState(state);
}
该函数通常用于静态和动态模板中实现顶层的state状态变更。
Parameters:
Name | Type | Description |
---|---|---|
props |
Object | React组件当前属性 props。 |
prevProps |
Object | React组件的前一个属性 props。 |
Returns:
返回是否发生路由变化的检查值。
- Type
- boolean