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

如何将含对象的JavaScript文件传入React组件

解决React组件传值的问题

嘿,我一眼就看出问题出在哪了!你的Test组件里的render方法写法不对——React组件的render函数是不接收props参数的,组件的props是通过this.props来访问的。

问题所在

你当前的Test组件render方法写了render(props),这里的props其实是undefined,因为React不会把props传给render函数,所以你自然拿不到传入的数据。

修正后的Test组件代码

把render方法的参数去掉,改用this.props来访问传入的数据:

import React, { Component } from 'react';

class Test extends Component {
  render() {
    // 这里用this.props获取传入的data
    console.log(this.props.data);
    return (
      <div>
        {/* 注意:直接渲染对象会显示[object Object],可以转成JSON或者渲染具体属性 */}
        <h3>{JSON.stringify(this.props.data)}</h3>
        {/* 或者渲染具体属性,比如客户名称 */}
        <p>客户名称:{this.props.data.customerName}</p>
        <p>设备ID:{this.props.data.deviceId}</p>
      </div>
    );
  }
}

export default Test;

其他确认点

  • 你的data.js导出是没问题的:既做了命名导出export const data,又做了默认导出export default data,所以App.js里的import data from './data'是正确的。
  • App.js里传递props的写法<Test data={data}/>也是完全正确的,不用修改。

这样修改之后,你就能正常拿到传入的数据啦!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 07:05:14