React Native用FlatList渲染JSON时报错Nothing was returned from render如何解决
报错原因及解决方法
核心触发报错的问题:CurrenciesList组件缺少返回值
你定义的CurrenciesList是箭头函数组件,用花括号包裹了函数体,但没有加return关键字,导致组件没有返回任何可渲染的内容,直接触发了Nothing was returned from render的报错。
两种修复方案二选一即可:
- 方案1:手动添加return关键字
export default () => { // 新增return语句返回视图 return <View> <FlatList data={currencies} renderItem={({item}) => { return <RowItem title={item}/> }} /> </View> }
- 方案2:去掉函数体外层花括号,使用箭头函数隐式返回
// 去掉花括号后箭头函数会自动返回后面的视图表达式 export default () => <View> <FlatList data={currencies} renderItem={({item}) => <RowItem title={item}/>} /> </View>
需要同步修复的隐藏问题(避免后续触发新报错)
你的RowItem组件没有导入依赖,运行后会继续报错,需要补充导入和缺失的样式定义:
import React from 'react'; import { TouchableOpacity, Text, StyleSheet } from 'react-native'; // 补充样式定义,可根据需求自行调整参数 const styles = StyleSheet.create({ title: { fontSize: 16, paddingVertical: 14, paddingHorizontal: 16 } }) const RowItem = ({title, onPress}) => { return ( <TouchableOpacity onPress={onPress}> <Text style={styles.title}>{title}</Text> </TouchableOpacity> ) } export default RowItem
内容的提问来源于stack exchange,提问作者Zeke
相关产品推荐
相关产品推荐

