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

React中将已初始化组件列表作为props传递后页面空白如何解决

问题原因

React 规定自定义组件必须以大写字母开头,小写开头的标签会被识别为原生 HTML 元素,不会匹配你定义的函数组件,因此无法渲染对应内容,导致页面空白。

修正方案

将你定义的三个组件 prim、sec、comp 全部改为大写开头的命名,调用时对应使用大写标签即可,修正后的完整代码如下:

const Prim = ({ text }) => <h1>{text}</h1>;

const Sec = ({ text }) => <h2>{text}</h2>;

const Comp = ({ prims, secs }) => (
  <>
    <div className="prim-class">{prims}</div>
    <div className="sec-class">{secs}</div>
  </>
);

export default function App() {
  return (
    <div>
      <Comp
        prims={[<Prim text="AA" key="prim1" />, <Prim text="BB" key="prim2" />]}
        secs={[<Sec text="CC" key="sec1" />]}
      />
    </div>
  );
}

补充说明

你之前直接调用函数生成元素的写法并没有违反 React 最佳实践,本质是把函数当作普通工具函数生成 React 元素,只有当你需要在组件内部使用 Hooks、维护内部状态或生命周期时,才需要写成标准组件的形式。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 18:18:03