is/zion

交互接口:判断函数


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