LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發文檔 其他文檔  
 
網站管理員

uni-app項目跑APP報useStore報錯

freeflydom
2025年8月1日 9:52 本文熱度 795

前情

uni-app是我比較喜歡的跨平臺框架,它能開發小程序/H5/APP(安卓/iOS),重要的是對前端開發友好,自帶的IDE讓開發體驗也挺棒的,現公司項目就是主推uni-app,最近手上項目就是要跑快手/抖音/微信/支付寶/APP多端的項目

坑位

最近負責的項目是使用Vue3+uview-plus+Pinia技術棧的項目,在跑小程序端的時候一切都算順利,最近同事準備跑APP端的時候發現,控制臺報如下錯,我自己嘗試跑了一下也報同樣錯

reportJSException >>>> exception function:createInstanceContext, exception:white screen cause create instanceContext failed,check js stack
at useStore (app-service.js:2211:15)
at (app-service. js:7552:20)
at (app-service. js:57237:3)

why?

因為我以前有項目是有遇到這到過這種錯誤情況,就是使用Pinia的store的時候初始化的時機有問題

為什么小程序端沒有問題,而APP端有問題,應該是小程序渲染進程和JS進程是二個獨立進程,框架層做了額外的異步處理,掩蓋了這個問題,而APP是使用原生 WebView(iOS/WKWebView 或 Android/Chrome),相當于是普通的瀏覽器渲染,此時就暴露出問題了

解決方案

在使用Pinia的store的時候,注意初始化時機,特別是在js文件中使用,可以把初始化狀態放到函數中,不要在js文件頂層做初始化狀態

//  錯誤的示例
import { globalStore } from '@/store/global'
const globalInstance = globalStore()
export function test() {
  // 使用globalInstance 
}
// 正確的示例
import { globalStore } from '@/store/global'
export function test() {
    const globalInstance = globalStore()
  // 使用globalInstance 
}

在組件中使用,一般像Vue3項目都是使用 setup語法糖的,一般不會有問題,如果你是使用選項式的寫組件,那就要避免在組件頂層做狀態文件初始化了,可以放到組件生命周期鉤子里做初始化

?轉自https://www.cnblogs.com/xwwin/p/19009653


該文章在 2025/8/1 9:52:51 編輯過
關鍵字查詢
相關文章
正在查詢...
點晴ERP是一款針對中小制造業的專業生產管理軟件系統,系統成熟度和易用性得到了國內大量中小企業的青睞。
點晴PMS碼頭管理系統主要針對港口碼頭集裝箱與散貨日常運作、調度、堆場、車隊、財務費用、相關報表等業務管理,結合碼頭的業務特點,圍繞調度、堆場作業而開發的。集技術的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業的高效ERP管理信息系統。
點晴WMS倉儲管理系統提供了貨物產品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質期管理,貨位管理,庫位管理,生產管理,WMS管理系統,標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務都免費,不限功能、不限時間、不限用戶的免費OA協同辦公管理系統。
Copyright 2010-2025 ClickSun All Rights Reserved

黄频国产免费高清视频,久久不卡精品中文字幕一区,激情五月天AV电影在线观看,欧美国产韩国日本一区二区
亚洲综合色婷婷在线观看 | 亚洲中文字乱码免费播放 | 六月婷婷国外视频在线 | 亚洲午夜福利717 | 中文字幕无线在线视频观 | 日韩视频中文字幕在线一区 |