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

React多层组件传props后map渲染报错,页面白屏求助

问题解决方案

你的问题出在TrackList组件的map遍历逻辑中:箭头函数使用大括号包裹函数体时,没有显式返回Track组件,导致map返回的是一个由undefined组成的数组,React无法识别并渲染,进而引发白屏报错。

修正后的TrackList代码(两种可选写法)

写法1:使用小括号让箭头函数自动返回

import React from "react";
import './TrackList.css';
import Track from '../Track/Track'

export default function TrackList(props) {
    return(
        <div className="TrackList">
            {
                props.tracks.map(track => (
                    <Track track={track} key={track.id} />
                ))
            }
        </div>
    )
}

写法2:在大括号内显式添加return

import React from "react";
import './TrackList.css';
import Track from '../Track/Track'

export default function TrackList(props) {
    return(
        <div className="TrackList">
            {
                props.tracks.map(track => {
                    return <Track track={track} key={track.id} />
                })
            }
        </div>
    )
}

原因说明

箭头函数的语法规则:

  • 如果函数体用小括号()包裹,会自动返回括号内的表达式结果
  • 如果用大括号{}包裹函数体,必须通过return语句明确指定返回值,否则默认返回undefined

你之前的代码用了大括号但没写return,所以map的每一项都返回undefined,React无法渲染这些无效内容,最终导致报错。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 08:15:34