You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Qwik中正确传递JSX.Element作为组件Props?

问题原因及解决方法

1. 最核心的错误:Props属性名称不匹配

你父组件传递给Dropdown的props属性名是element,但子组件定义的props接收的是button——两者名称完全不一致。这会导致子组件里的button值为undefined,但你的console.log显示button是有效的JSX节点,说明你实际代码里大概率存在笔误,比如父组件应该写button={<h1>Hello world</h1>},或者子组件props应该定义为element: JSX.Element。

2. 若Props名称匹配后仍显示[object Object]

如果已经修正了props名称,还是出现这个问题,检查以下两点:

  • 子组件是否错误转换了JSX节点:比如不小心用了模板字符串{${button}}或者调用button.toString(),这会把JSX对象强制转为字符串[object Object]。确保子组件里直接写{button}即可。
  • 类型定义是否准确:Qwik中的JSX节点类型建议用JSXNode而非JSX.Element,修改子组件的props类型:
    import type { JSXNode } from '@builder.io/qwik';
    
    export default component$((props: { button: JSXNode }) => {
      const { button } = props;
      return (
        <div>
          {button}
        </div>
      );
    });
    

从你的console.log输出看,button是有效的Qwik JSX节点对象,所以修正props名称后应该就能正常渲染出<h1>Hello world</h1>元素。

内容的提问来源于stack exchange,提问作者Josu16

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.16 09:05:44