クロスプラットフォーム アプリケーション開発フレームワークとして、Uniapp には豊富なライフ サイクルがあります。Uniapp のライフ サイクルは次のとおりです。
1. アプリケーションのライフサイクル
アプリケーションのライフサイクルとは、アプリケーションの起動、フロントバックグラウンドの切り替え、終了など、アプリケーションの起動から終了までのプロセス全体を指します。Uniapp は、次のライフサイクル フック関数を提供します。
- onLaunch: アプリケーションの初回起動時にのみ、アプリケーションの起動時にトリガーされます。
- onShow: アプリケーションがフォアグラウンドに入ったときにトリガーされ、アプリケーションのメソッドとシーン値を取得できます。
- onHide: アプリがバックグラウンドになるときにトリガーされます。
- onError: アプリケーションでエラーが発生するとトリガーされ、エラー情報の取得と処理に使用できます。
- onUniNViewMessage: nvue ページからのメッセージをリッスンします。
2. ページのライフサイクル
ページのライフサイクルとは、ページの作成、表示、非表示、破棄など、ページの作成から破棄までのプロセス全体を指します。Uniapp は、次のライフサイクル フック関数を提供します。
- onInit: ページが初期化されるときにトリガーされ、ページのパラメーターとデータを取得できます。
- onLoad: ページがロードされるときにトリガーされ、データの初期化とネットワーク リクエストを実行できます。
- onReady: ページのレンダリングが完了し、ページのアニメーションやインタラクションなどの操作を実行できるときにトリガーされます。
- onShow: ページが表示されるときにトリガーされ、ページの表示効果やアニメーションなどの操作を処理できます。
- onHide: ページが非表示になったときにトリガーされ、ページ非表示効果やアニメーションなどの操作を処理できます。
- onUnload: ページが破棄されるとトリガーされ、リソースの解放やクリーンアップなどの操作を実行できます。
3. コンポーネントのライフサイクル
コンポーネントのライフサイクルとは、コンポーネントの作成、更新、破棄など、コンポーネントの作成から破棄までのプロセス全体を指します。Uniapp は、次のライフサイクル フック関数を提供します。
- beforeCreate: コンポーネント インスタンスが作成される前にトリガーされ、コンポーネントのデータとメソッドはまだ初期化されていません。
- created: コンポーネント インスタンスの作成後にトリガーされます。この時点では、コンポーネントのデータとメソッドは初期化されています。
- beforeMount: コンポーネントがレンダリングされる前にトリガーされますが、この時点ではコンポーネントはページ上にレンダリングされていません。
- Mounted: コンポーネントがレンダリングされた後にトリガーされます。この時点では、コンポーネントはページ上にレンダリングされています。
- beforeUpdate: コンポーネント データが更新される前にトリガーされ、コンポーネント データはまだ更新されていません。
- updated: コンポーネント データが更新された後にトリガーされます。この時点でコンポーネント データは更新されています。
- beforeDestroy: コンポーネント インスタンスが破棄される前にトリガーされ、この時点ではまだコンポーネントのデータとメソッドにアクセスできます。
- destroy: コンポーネント インスタンスが破棄された後にトリガーされます。この時点では、コンポーネントのデータとメソッドにはアクセスできなくなります。
要約:
Uniapp は、開発者が必要に応じて使用および拡張できる豊富なライフサイクル フック関数を提供します。アプリケーション開発では、不要な問題やエラーを避けるために、ライフサイクル関数の実行順序とタイミングに注意を払う必要があります。