Я думал о том, чтобы написать что-нибудь, чтобы записать историю своего роста, и, наконец, я должен начать практиковаться.
Это первый раз, когда я пишу блог, я надеюсь, вы можете дать несколько советов
предисловие
(1) Почему апплет WeChat
Я только закончил в этом году, плюс дни стажировки, я в компании почти год, в течение которого я писал соответствующие функции апплета, и я знаком с некоторыми базовыми функциями апплета.
(2) Технологияродной js +redux+ Официальный API апплета WeChat
Сегодня я в основном говорю о своем понимании жизненного цикла мини-программ WeChat.Хотя я смог запросить соответствующие документы на разных платформах, я чувствую, что могу организовать свои мысли, записывая их, и я надеюсь, что смогу получить совет больших коров.
Разобрать
Апплет в основном делится на два жизненных цикла: глобальный жизненный цикл + жизненный цикл страницы.
Жизненный цикл приложения мини-программы
Жизненный цикл приложения в основном называется в app.js, в основном:
onLaunch -- инициализация апплета завершена, и он запускается только один раз глобально onShow -- когда апплет запускается или выходит на передний план из фона onHide -- Выполняется, когда апплет переходит на задний план с переднего плана onError — когда апплет запускает скрипт с ошибкой или вызов API завершается с ошибкой, он будет выполнен с сообщением об ошибке. onPageNotFound -- Выполняется, когда страница апплета не существует Порядок выполнения: onLaunch --> onShow --> onHide
Жизненный цикл страниц мини-программы
Жизненный цикл страниц в основном относится к жизненному циклу в js, соответствующем каждому файлу, в основном:
onLoad — выполняется при загрузке страницы только один раз onReady — выполняется при первом отображении страницы, только один раз onShow -- выполняется при отображении страницы, выполняется несколько раз onHide — выполняется, когда страница переходит на задний план с переднего плана onUnload -- выполняется, когда страница выгружается
Примечание. Когда для переключения страниц требуется многократный рендеринг данных для изменения состояния, рекомендуется использовать его в onShow, а когда его нужно инициализировать только один раз, его можно использовать в onLoad или onReady. Когда таймер необходимо очистить, его можно использовать в onUnload.
Порядок выполнения: onLoad --> onShow --> onReady --> onHide
Жизненный цикл запускается при переключении страниц: Когда страница A загружается в первый раз, жизненный цикл, запускаемый страницей A, выглядит следующим образом: onLoad --> onShow --> onReady При переключении со страницы A на страницу B страница A запускает onHide, и последовательность жизненного цикла запускается страница B такая же, как и выше.Когда страница возвращается на страницу A, срабатывает onUnload, а когда кеш очищается и страница A снова заходит, срабатывает только onShow.
Жизненный цикл создания страниц
В официальной документации апплета есть картинка, показывающая процесс инстанцирования, я ее просто взял, можете сами проверитьDevelopers.WeChat.QQ.com/mini программа…
Объяснение: как показано ниже
Рабочий механизм
концепция:
Горячий старт: Это означает, что после успешного запуска апплета вы щелкаете x в верхнем левом углу или нажимаете кнопку «Домой», чтобы выйти из апплета. Апплет не уничтожается напрямую, а входит в механизм фонового запуска. Когда апплет открыт, апплет снова выходит на передний план из фона в это время, и страница перерисовывается.Этот процесс является горячим стартом.
Холодный запуск: Относится к моменту, когда апплет загружается в первый раз (никогда не открывался), или когда вы удаляете апплет, или он автоматически уничтожается WeChat, когда вы снова загружаете апплет, этот процесс является холодным запуском.
Примечание: апплет запускает жизненный цикл onLaunch только при холодном запуске.
Суммировать
Время жизни апплета:
Откройте апплет: (App)onLaunch --> (App)onShow --> (Pages)onLoad --> (Pages)onShow --> (pages)onReady Перейти на следующую страницу: (Страницы)onHide --> (Далее)onLoad --> (Далее)onShow --> (Далее)onReady Вернуться на предыдущую страницу: (curr)onUnload --> (pre)onShow Оставьте апплет: (App)onHide Введите еще раз: апплет не уничтожается --> (App)onShow (выполните приведенную выше последовательность), апплет уничтожается, и (App)onLaunch начинает выполняться снова.