2***@qq.com
2***@qq.com
  • 发布:2024-10-22 19:07
  • 更新:2024-10-23 02:02
  • 阅读:32

【报Bug】4.29的hx无法使用vuex,从vuex导入的useStore函数报错不是一个函数

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: Windows 10 家庭中文版

HBuilderX类型: 正式

HBuilderX版本号: 4.29

手机系统: Android

手机系统版本号: Android 13

手机厂商: 华为

手机机型: 荣耀90 gt

页面类型: nvue

vue版本: vue3

打包方式: 云端

项目创建方式: HBuilderX

示例代码:

import vuex,{useStore,mapMutations} from "vuex"
setup() {
const store = useStore()
console.log("自定义打印:",store,store.state);
console.log("setup");
console.log(useStore);
const test = ref("setup周期测试")
console.log(vuex);
console.log(test);
return {test}
}

操作步骤:

下载hello-uniapp项目,打开pages/tabBar/componentcomponent.nvue文件
导入import vuex,{useStore,mapMutations} from "vuex"
在setup生命周期里
setup() {
const store = useStore()
console.log("自定义打印:",store,store.state);
console.log("setup");
console.log(useStore);
const test = ref("setup周期测试")
console.log(vuex);
console.log(test);
return {test}
}

预期结果:

正常使用vuex里的数据

实际结果:

报错
(0 , import_vuex.useStore) is not a function
TypeError: (0 , import_vuex.useStore) is not a function
at Proxy.onLoad (pages/tabBar/component/component.js.nvue:260:121)
at pages/tabBar/component/component.js.nvue:430:9
at pages/tabBar/component/component.js.nvue:432:3

bug描述:

在setup周期里使用useStore报错:
(0 , import_vuex.useStore) is not a function
TypeError: (0 , import_vuex.useStore) is not a function
at Proxy.onLoad (pages/tabBar/component/component.js.nvue:260:121)
at pages/tabBar/component/component.js.nvue:430:9
at pages/tabBar/component/component.js.nvue:432:3

2024-10-22 19:07 负责人:无 分享
已邀请:
2***@qq.com

2***@qq.com (作者)

// 页面路径:main.js  
import App from './App'  
import store from './store'  
import {createSSRApp} from 'vue'  
import Vuex from "vuex";  
export function createApp() {  
    const app = createSSRApp(App)  
    app.use(store)  
    return {  
        app,  
        // Vuex // 注意,如果 nvue 使用 vuex 的各种map工具方法时,必须 return Vuex  
    }  
}
  • 2***@qq.com (作者)

    这是在hello-uniapp测试useStore时踩了一个坑,nvue页面使用vuex记得在返回Vuex,不然vuex库导出的所有函数都会是undefined

    2024-10-23 01:35

2***@qq.com

2***@qq.com (作者)

useStore的错误是在nvue页面,可以先改成vue页面

要回复问题请先登录注册