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

React Native导航传参报Objects are not valid as a React child错误如何解决

报错原因

Objects are not valid as a React child报错是因为你跳转时传递的参数是完整的国家对象,而不是字符串,下级页面的<Text>组件无法直接渲染JS对象。
你代码里的具体问题:你已经通过getCountry方法提取到了国家名字符串存入countrySelect变量,但调用navigation.navigate时传递的还是onSelect回调返回的完整country对象,不是提取后的名称值。

解决方案
  • 方案1:跳转时传递提取后的国家名字符串
    修改Covid.js中onSelect回调里的跳转代码:
// 原错误代码
props.navigation.navigate('CovidCountryData', { selectedCountry: country})
// 修改为
props.navigation.navigate('CovidCountryData', { selectedCountry: countrySelect})

注意:setCountry是异步更新方法,调用后不能立刻拿到最新的country状态值,所以直接用已经计算好的countrySelect变量传参更稳妥。

  • 方案2:保留传递完整对象,下级页面提取name字段渲染
    如果你后续在CovidCountryData页面还需要用到国家的其他字段(比如国家编码、区号等),可以保持传完整对象,修改CovidCountryData.js的渲染逻辑:
// 原错误代码
<Text>{Country}</Text>
// 修改为
<Text>{Country.name}</Text>

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 21:00:02