来自本地 json 的数据未显示在 FlatList 中

时间:2021-06-12 18:27:59

标签: json react-native

我正在尝试显示我拥有的本地 json 文件中的信息。 json 数据确实会记录到控制台,看起来不错,但我无法将其显示为 FlatList。

这是我的json文件:

{
"countries": [
    {
        "id": 0,
        "code": "US",
        "display_name": "USA",
        "area_code": 123
    },
    {
        "id": 1,
        "code": "FR",
        "display_name": "FRANCE",
        "area_code": 123
    },
    {
        "id": 2,
        "code": "AUS",
        "display_name": "AUSTRALIA",
        "area_code": 123
    }
]
}

这是我的 FlatList:

//@ts-ignore
import CountryList from '../utils/countries.json';

const CountryPicker = () => {    
    return (
        <View style={pickerStyles.container}>
            <Text style={pickerStyles.title}>Pick your location</Text>
            
            <FlatList
                    data={CountryList}
                    //@ts-ignore
                    renderItem={CountryList.countries.map(country => {
                        return (
                            <Text>{country.display_name}</Text>
                        );
                    })}
                    keyExtractor={country => country.id}
                />
        </View>
    );
}

1 个答案:

答案 0 :(得分:1)

你应该像下面那样做,因为 Data prop 需要一个数组并且你正在传递一个对象。

     <FlatList
                data={CountryList.countries}
                //@ts-ignore
                renderItem={({item}) => {
                    return (
                        <Text>{item.display_name}</Text>
                    );
                })}
                keyExtractor={item => item.id}
            />