页面生命周期

页面是应用组织业务逻辑的基础单元。页面在 YIS 中有两个方面的作用:

  1. 呈现页面和响应交互。这个是通过页面内的各个组件实现的。
  2. 是应用的基本组成单元。应用通过一系列的页面来引导用户达成目标。这些页面的生生灭灭是通过生命周期实现的。

所有的页面组件都是继承自 PageCore,PageCore 提供了以下这些生命周期:

  • didLoad:页面加载完成。
  • didReceiveData(data):页面接收到数据。
  • didShow:页面显示(激活)。
  • didHide:页面隐藏。
  • willDestroy:页面即将销毁。

在这些生命周期钩子中,添加对应业务逻辑即可。比如:在 didLoad 的时候可以请求远程数据,在 willDestroy 的清空一些定时器,在 didReceiveData 中处理上一个页面带回来的数据等。

代码节选自:src/pages/homepage/index.js
import { PageCore } from '@qnpm/yis';
import { Page } from '@qnpm/yis/components';
import styles from './index.css';

class Home extends PageCore {
    didLoad() {}
    didShow() {}
    didReceiveData(data) {}
    didHide() {}
    willDestroy() {}
    render() {
        return (
            <Page>
                <div className={ styles.hello }>Hello World</div>
            </Page>
        );
    }
}

export default Home;
代码节选自:src/pages/homepage/index.js
// 当然你也可以进行一些封装
export default function() {
    return <Home />;
}

一些生命周期的具体示例:

页面生命周期



以上就是 YIS 页面的生命周期。接下来,我们来看看 PageCore 除了生命周期之外提供的其他特性。