uni-app setup语法糖render函数每调用

发布于 1周前 作者 zlyuanteng 来自 Uni-App

uni-app setup语法糖render函数每调用

产品分类:

uniapp/小程序/微信

信息类别 详细信息
PC开发环境操作系统 Windows
PC开发环境操作系统版本号 Windows 10 专业版 64-bit (10.0, Build 19045) (19041.vb_release.191206-1406)
HBuilderX类型 正式
HBuilderX版本号 3.97
第三方开发者工具版本号 Stable 1.06.2308310
基础库版本号 ^3.0.0-alpha-3070720230316001
项目创建方式 HBuilderX

示例代码:

wx.createPage = function (MiniProgramPage) {
MiniProgramPage.render = function (ctx) {}
}

操作步骤:

wx.createPage = function (MiniProgramPage) {
MiniProgramPage.render = function (ctx) {}
}

预期结果:

render函数调用

实际结果:

render函数每调用

bug描述:

微信小程序 开发插件
在vue3+setup语法糖形式下 render函数没调用


1 回复

uni-app 中使用 setup 语法糖时,render 函数的调用频率取决于组件的更新机制。render 函数会在以下情况下被调用:

  1. 组件初始化时:当组件首次挂载时,render 函数会被调用以生成初始的虚拟 DOM。

  2. 响应式数据变化时:当 setup 函数中使用的响应式数据(如 refreactive 等)发生变化时,render 函数会被重新调用,以生成新的虚拟 DOM 并更新视图。

  3. 父组件重新渲染时:如果父组件重新渲染,子组件的 render 函数也会被调用,除非子组件使用了 shouldComponentUpdatememo 等优化手段来避免不必要的渲染。

  4. 强制更新时:如果你手动调用了 forceUpdate 方法,render 函数也会被调用。

示例

<template>
  <view>
    <text>{{ count }}</text>
    <button @click="increment">Increment</button>
  </view>
</template>

<script setup>
import { ref } from 'vue';

const count = ref(0);

function increment() {
  count.value++;
}
</script>
回到顶部
AI 助手
你好,我是IT营的 AI 助手
您可以尝试点击下方的快捷入口开启体验!