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

React Native中_this2.renderPrediction is not a function报错求助

解决React Native中TensorFlow.js图像分类的renderPrediction is not a function错误

嘿,我一眼就发现问题所在了!你碰到的_this2.renderPrediction is not a function错误,核心原因非常直接:你在render方法里调用了this.renderPrediction(p)来渲染预测结果,但你的组件里完全没有定义这个方法,JavaScript自然找不到它,就抛出了这个错误。

具体修复步骤:

  1. 添加renderPrediction方法
    在你的App组件里,比如放在selectImage方法之后、render方法之前,添加这个用来渲染单条预测结果的函数:
renderPrediction = (prediction) => {
  return (
    <View key={prediction.className} style={styles.predictionContainer}>
      <Text style={styles.predictionText}>
        {prediction.className}: {(prediction.probability * 100).toFixed(1)}%
      </Text>
    </View>
  )
}

这个方法会把每个预测结果(包含类别名称和概率)转换成一个带样式的View和Text组件,让结果更清晰地展示出来。

  1. 补充对应的样式
    在StyleSheet.create的对象里,添加这两个样式规则,让预测结果的UI更美观:
predictionContainer: {
  marginVertical: 4,
  paddingHorizontal: 12,
  paddingVertical: 6,
  backgroundColor: '#2d3740',
  borderRadius: 6,
  width: '80%',
  alignItems: 'center'
},
predictionText: {
  color: '#ffffff',
  fontSize: 15
}
  1. 验证其他逻辑(可选)
    顺便检查下classifyImage方法里的逻辑:确保imageToTensor处理图像的流程没问题,另外在获取预测结果后,状态更新是正常的。不过这部分你的代码看起来是对的,主要问题就是缺失renderPrediction方法。

做完这些修改后,重新运行你的App,应该就能正常渲染图像分类的预测结果,不会再出现那个错误啦!

内容的提问来源于stack exchange,提问作者altit avner-acher

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.06 22:52:47