gpt4 book ai didi

typescript :属性 "title"在类型 'never' 上不存在

转载 作者:行者123 更新时间:2023-12-04 14:45:11 27 4
gpt4 key购买 nike

我正在练习 React 原生 typescript 。我从 jsonplaceholer API 获取数据并添加到我的组件状态。映射状态并尝试在我的手机上呈现后。但是我在终端上收到 typescript 错误:property "title" does not exist on type 'never' .

这是我的应用组件

import React, { useState, useEffect } from "react";
import { StyleSheet, Text, View, ScrollView, Image } from "react-native";

export default function App() {
const [state, setstate] = useState([]);

useEffect(() => {
fetchData();
}, []);

const fetchData = async () => {
const response = await fetch("https://jsonplaceholder.typicode.com/photos");
const data = await response.json();
setstate(data);
};

return (
<ScrollView style={styles.body}>
<View style={styles.container}>
{state.map(list => {
return <Text>{list.title}</Text>; //
})}
</View>
</ScrollView>
);
}

const styles = StyleSheet.create({
body: {
padding: 150
},
container: {
flex: 1,
backgroundColor: "white",
alignItems: "center",
justifyContent: "center"
},

stretch: {
width: 50,
height: 200,
resizeMode: "stretch"
}
});

最佳答案

您必须将状态定义为 的数组任何 类型:

const [state, setstate] = useState([] as any[]);

默认情况下,TypeScript 将空数组定义为 never[] .这是一个始终为空的数组。 TS的一个奇怪的事情。更多信息在 this question .

关于 typescript :属性 "title"在类型 'never' 上不存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61495714/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com