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

React中从函数传递数组的正确语法?新手组件传值报错求助

问题分析与解决

你的核心问题是把返回数组的函数当成了直接的数组来使用:TitleData是一个组件函数,你必须执行它才能拿到它返回的数组,而直接访问TitleData[0]是在取函数对象的第0个属性,根本不是你要的数组元素。

两种修复方案

方案1:把TitleData改成普通数组导出(推荐)

既然它只是提供数据,没必要写成组件函数,直接导出数组即可:

// title-data.js
export default ["My Title Test"];

然后在App组件里正常使用:

import './App.css'
import AntButton from './hover-click-button'
import TitleData from './web-data/title-data'

export default function App() {
  return (
    <main>
     <AntButton title={TitleData[0]} />
    </main>
  )
}

方案2:执行TitleData函数获取数组

如果一定要保留TitleData的函数形式,你需要调用这个函数拿到返回的数组:

import './App.css'
import AntButton from './hover-click-button'
import TitleData from './web-data/title-data'

export default function App() {
  // 先调用函数拿到数组
  const titleArray = TitleData();
  return (
    <main>
     <AntButton title={titleArray[0]} />
    </main>
  )
}

或者直接在JSX里内联调用:

<AntButton title={TitleData()[0]} />

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 05:27:11