w***@163.com
w***@163.com
  • 发布:2025-02-08 16:00
  • 更新:49 分钟前
  • 阅读:558

【报Bug】抖音小程序使用provide/inject 无效

分类:uni-app

产品分类: uniapp/小程序/抖音

PC开发环境操作系统: Mac

PC开发环境操作系统版本号: 1

第三方开发者工具版本号: 1

基础库版本号: 3.0.0-alpha-4040520250107001

项目创建方式: CLI

CLI版本号: 1

示例代码:

父组件:provide('checkbox', 1);
子组件:inject('checkbox', null); 返回的结果是null

操作步骤:

在main.ts 中 app.provide 是可以在子组件中inject到结果的,在页面或组件中无效

预期结果:

1

实际结果:

null

bug描述:

provide/inject 失效

2025-02-08 16:00 负责人:DCloud_UNI_OttoJi 分享
已邀请:

最佳回复

DCloud_UNI_OttoJi

DCloud_UNI_OttoJi - 日常回复 uni-app/x 问题,如果艾特我没看到,请主动私信

目前发现抖音小程序父子关系初始化比较慢, setup 中需要使用 onMounted 包裹获取 inject 展示数据。

 <script  setup>  
        import {inject, onMounted, watchEffect,ref, reactive} from 'vue'  

        const injectValue = reactive({value:''})  
        onMounted(()=>{  
            const _inject = inject('str2', 'default')  
            injectValue.value = _inject  
        })  
</script>

你可以参考兼容处理,后续找到合理的方案会进行更新。

xueyitt

xueyitt

同遇到,25年的版本都有这个问题,uni组件库的uni-grid组件在抖音端无法显示(微信端显示正常)(回退到2407左右的版本能正常显示)

3***@qq.com

3***@qq.com - 手搭

用你上面的测试代码现在测试也不行

  • DCloud_UNI_OttoJi

    提供复现工程,并测试 onMounted 里获取 inject 是否正常

    2025-09-11 16:14

青色

青色

uniapp3.0版本可以用onMounted包一层,uniapp4.0版本就不行了,子组件打印日志发现都获取不到祖父组件传值

青色

青色

没招了,有其他方案没,上一个版本父子传值用了onMounted,渲染明显有过渡,不太好,将就用了。现在升级到4.0的版本,就都不行了

  • DCloud_UNI_OttoJi

    提供复现工程,并测试 onMounted 里获取 inject 是否正常。什么是 Uniapp4 ?

    2025-09-11 16:15

m***@126.com

m***@126.com

发现了同样的问题,希望尽快解决

  • DCloud_UNI_OttoJi

    提供复现工程,并测试 在 onMounted 里使用是否正常

    2025-09-11 16:14

Joy_过山风

Joy_过山风 - 想看签名?先V我50!

2025.11.18号了 这个问题还是没解决,哎

要回复问题请先登录注册