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

实现接收name属性的React函数组件 代码测试不通过语法问题求解

代码问题梳理
  • 需求要求实现函数组件,你当前编写的是Class类组件,不符合基础实现要求
  • 不需要在组件内部维护state,直接读取传入的props.name即可,多余的state逻辑属于冗余代码
  • 解构赋值逻辑错误:const { name } = name; 右侧的name变量未定义,取值应该从props中获取
  • 空值判断逻辑语法错误:if ({ name } == "" || undefined || null) 不符合JS语法规则:使用{name}会生成一个新对象,和空字符串对比永远不成立;且逻辑或的每个判断项需要单独和name做对比,不能简写为== "" || undefined || null
  • 空值场景要求渲染Hi (Hi后带空格),你当前返回的<h1>Hi</h1>没有空格,不符合输出要求
正确实现代码
// 函数组件直接接收props作为参数
export default function WithProps(props) {
  const { name } = props
  // 匹配空字符串、undefined、null时返回空值
  const renderName = name || ''
  return <h1>Hi {renderName}</h1>
}

也可以用更简洁的参数解构写法:

export default function WithProps({ name }) {
  return <h1>Hi {name || ''}</h1>
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 01:45:01