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

NextJS组件添加div时报TypeError: children.props is undefined求助

错误原因

Material UI 的Slide过渡组件要求只能传入单个直接子元素,组件内部会读取该子元素的props来注入动画相关的配置。
你修改后在<HideOnScroll>内部同时写了<div>test</div>和<AppBar>两个同级元素,此时HideOnScroll拿到的children是元素数组,数组不存在props属性,因此触发TypeError: children.props is undefined报错。你尝试给div加{...props}无法解决问题,因为报错根源和props传递无关。

解决方案

将<HideOnScroll>内部的所有元素用一个共同的父容器包裹,再把你需要的顶部装饰条放在父容器内最上方即可,你已经定义好的topTrim样式可以直接复用。

修改后的return代码

return (
  <header>
    <HideOnScroll {...props}>   
      {/* 单个父容器包裹所有内容,也可以用<></>(React.Fragment)替代div减少DOM层级 */}
      <div>
        {/* 顶部10px装饰条 */}
        <div className={topTrim}></div>     
        <AppBar className={header}>
          {mobileView ? displayMobile() : displayDesktop()}
        </AppBar>
      </div>
    </HideOnScroll>
  </header>
);

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.17 19:36:01