如何将props从祖父组件传递到孙子组件?Recharts项目传值问题求助
问题根因
- 你调用LineChartComponent时传入的list参数,被外层的LineChartPage组件接收后,没有继续向下透传给内部的SimpleLineChart组件,导致SimpleLineChart拿到的list为undefined,数据源替换不生效。
修复步骤
1. 修改LineChartComponent.js的LineChartPage定义,接收list参数
将原代码中的定义:
const LineChartPage = () => (
修改为:
const LineChartPage = ({list}) => (
2. 给SimpleLineChart透传list参数
将原代码中调用SimpleLineChart的行:
<SimpleLineChart />
修改为:
<SimpleLineChart list={list} />
可选排查验证
如果修改后仍不生效,可按层级加日志确认数据流转是否正常:
- 在index.js的render方法中打印
console.log('index层list', list),确认源数据存在且格式符合Recharts要求 - 在LineChartPage中打印
console.log('中间层list', list),确认中间层透传正常 - 在SimpleLineChart中打印
console.log('最终组件list', list),确认目标组件拿到有效数据
内容的提问来源于stack exchange,提问作者Jokies Ding
相关产品推荐
相关产品推荐

