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

React Native报错:Objects are not valid as a React child问题求助

问题解决:React Native报错 "Objects are not valid as a React child (found: object with keys {_h, _i, _j, _k})"

错误原因

你的MeUI组件被定义成了async函数,而React组件不能是异步函数——async函数执行后返回的是Promise对象,React尝试渲染这个Promise对象时,就会抛出该错误(Promise内部包含_h、_i、_j、_k这些内部属性)。

解决方案

直接移除组件定义中的async关键字,你的组件代码里并没有使用await相关的异步操作,完全不需要异步组件:

修改后的MeUI.jsx核心代码:

// 移除async关键字
const MeUI = () => {
  const dispatch = useDispatch()
  const { navigate } = useNavigation()
  
  return (
    <View style={{ flex:1, backgroundColor: 'white' }}>
      <AvatarSection
        batch={'BCA 6th Sem | 2020-2023'}
        name={'Abbas Ali Dalal'}
      />
      <View style={{ position: 'relative', top: 150, alignItems: 'center' }}>
        <FlatList 
            data={Routes.Me}
            renderItem={({ item }) => {
            return <TouchableOpacity onPress={()=> {
              dispatch(SWITCH_TO_CHILDSTACK())
              navigate(item.screen)
            }}>
                <Card.DashboardCard
                    iconName={item.iconName}
                    title={item.title}
                />
            </TouchableOpacity>
            }}
            // 建议添加keyExtractor,避免列表渲染警告
            keyExtractor={(item) => item.screen || item.title}
        />
      </View>
    </View>
  )
}

额外提示

  • 无需清理Gradle或重置AsyncStorage,该错误与存储无关,完全是组件定义错误导致。
  • 给FlatList添加keyExtractor属性,可帮助React高效渲染列表项,避免不必要的控制台警告。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.13 16:13:09