JSX 高级学习第二篇:以 Vue 3 为例

在第一篇文章中,我们介绍了 JSX 在 Vue 3 中的基础用法。现在,让我们深入了解一些高级特性和用法。

条件渲染

在 JSX 中,你可以使用 JavaScript 的条件语句进行条件渲染。例如:

jsx 复制代码
export default {
  setup() {
    const showButton = ref(true);

    return () => (
      <div>
        {showButton.value ? <button>Visible Button</button> : <span>Button is hidden</span>}
      </div>
    );
  },
};

列表渲染

你也可以使用 map 函数进行列表渲染:

jsx 复制代码
export default {
  setup() {
    const items = ref([1, 2, 3]);

    return () => (
      <ul>
        {items.value.map((item, index) => (
          <li key={index}>{item}</li>
        ))}
      </ul>
    );
  },
};

事件处理

在 JSX 中,你可以直接使用原生的 DOM 事件:

jsx 复制代码
export default {
  setup() {
    const handleClick = () => {
      alert('Button clicked!');
    };

    return () => (
      <button onClick={handleClick}>Click Me!</button>
    );
  },
};

自定义组件

你可以像使用原生 HTML 元素一样使用自定义 Vue 组件:

jsx 复制代码
import MyComponent from './MyComponent.jsx';

export default {
  setup() {
    return () => (
      <MyComponent prop1="value1" prop2="value2" />
    );
  },
};

使用 v-model

在 Vue 3 中,你可以使用 vModel 属性来模拟 v-model 的行为:

jsx 复制代码
import { ref } from 'vue';

export default {
  setup() {
    const text = ref('');

    return () => (
      <input vModel={text.value} />
    );
  },
};

总结

在这篇文章中,我们探讨了 JSX 在 Vue 3 中的高级用法,包括条件渲染、列表渲染、事件处理等。这些高级特性使得 JSX 成为一个非常强大和灵活的工具,特别是在与 Vue 3 的 setup 函数结合使用时。

下一篇文章中,我们将通过一个综合示例来展示如何将这些高级特性结合起来使用。希望这篇文章能帮助你更深入地了解 Vue 3 和 JSX!

相关推荐
KaMeidebaby13 小时前
卡梅德生物技术快报|蛋白 N 端测序在重组贻贝融合蛋白表征中的应用,解决原核表达序列偏移工艺难题
前端·人工智能·物联网·算法·百度
kyriewen14 小时前
我筛了 1400 个 Claude Code Skills,留下 5 个天天在用的
前端·ai编程·claude
JNX_SEMI14 小时前
AT2401C 2.4GHz 全集成射频前端单芯片技术解析
前端·单片机·嵌入式硬件·物联网·硬件工程
anOnion14 小时前
Agentic 前端开发之 实时显示 AI Agent 终端输出
前端·javascript·人工智能
随风一样自由15 小时前
【前端领域】2026最新前端领域全梳理(框架/工具/AI/跨端/底层标准/就业趋势)
前端·人工智能·前端框架
这是个栗子15 小时前
【前端性能优化】优化数据加载:用 Promise.all 从串行到并行
前端·javascript·性能优化·异步编程·前端优化·promise.all
fei_sun15 小时前
黑洞路由(Null Route/空接口路由)
服务器·前端·javascript
大爱一家盟15 小时前
告别卡点BGM同质化 2026原创卡点音乐素材下载网站 TOP5 推荐
大数据·前端·人工智能
彦为君15 小时前
算法思维与经典智力题
java·前端·redis·算法
aa小小16 小时前
localhost 访问异常排查笔记
前端