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

React组件间传参异常:子组件接收props始终为undefined

React组件传值时子组件接收undefined的解决方案

问题出在props的键名不匹配:你父组件是通过data={ideas}把状态传给BasicTable的,但子组件却尝试解构{ideas}来接收——React里props是键值对,你传的键是data,子组件就得对应取data,不然肯定拿不到值。

给你两种直接解决的方式:

方式一:修改子组件的接收逻辑

子组件里把解构的ideas改成data,如果习惯用ideas这个变量名,可以用重命名语法:

// BasicTable组件
const BasicTable = ({ data: ideas }) => {
  // 现在ideas就能拿到父组件传过来的值了
  console.log(ideas);
  return <div>{/* 你的表格渲染逻辑 */}</div>;
};

方式二:修改父组件的传值属性名

如果想让子组件直接解构ideas,那父组件传值时把属性名改成ideas:

// 父组件渲染部分
return (
  <div>
    <BasicTable ideas={ideas} />
  </div>
);

// 子组件接收
const BasicTable = ({ ideas }) => {
  console.log(ideas);
  return <div>{/* 你的表格渲染逻辑 */}</div>;
};

额外注意

如果父组件的ideas初始状态是undefined或null,子组件最好加个容错处理,避免渲染报错:

const BasicTable = ({ data: ideas }) => {
  if (!ideas) return <div>加载中...</div>;
  // 后续渲染逻辑
};

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 21:57:09