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

React组件渲染失败求助:无法正常渲染自定义组件

解决React组件无法渲染的问题

看起来你的问题出在组件命名规则上!React要求自定义组件的名称必须以大写字母开头,如果用小写开头,React会把它当成原生HTML标签来解析,自然就渲染不出你写的自定义组件了。

问题分析

你在父组件里写的调用代码:

<Col md={{ span: 16, offset: 4 }} xs={{ span: 20, offset: 2 }}>
  {props.language === "en" ? <englishReport /> : <danishReport />}
</Col>

这里的<englishReport />和<danishReport />都是小写开头,完全不符合React的组件命名规范,这就是渲染失败的核心原因。

另外看你的danishReport组件代码,导出的类名是indexDanish,你在父组件导入的时候,也要确保导入的名称是大写开头的,避免和调用时的名称混淆。

修复后的代码

  1. 修正父组件里的组件调用(改成大写开头):
<Col md={{ span: 16, offset: 4 }} xs={{ span: 20, offset: 2 }}>
  {props.language === "en" ? <EnglishReport /> : <DanishReport />}
</Col>
  1. 同步修正父组件的导入语句(保持大写开头):
// 替换成你的实际文件路径
import EnglishReport from './englishReport';
import DanishReport from './danishReport';
  1. 建议子组件的类名和导出名称保持一致(虽非强制,但能避免混淆),比如修改danishReport组件:
import React, { Component } from 'react';

class DanishReport extends Component {
  render() {
    return (
      <div style={{ color: "#fff", textAlign: "left" }}>
        <b>hej</b>
      </div>
    );
  }
}

export default DanishReport;

这样修改后,你的组件应该就能正常根据语言切换渲染了!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.12 04:19:52