正在控制台中获取数据,但无法在屏幕上看到任何api调用数据
嗨,我是新来的。我试图调用任何api,但无法在应用程序屏幕上看到任何数据,但可以在控制台上看到数据。我认为这个问题与我的状态有关,但每当我试图在状态上添加任何内容时,它都会给我一个响应“json.data”不是一个对象。请指导我。提前感谢正在控制台中获取数据,但无法在屏幕上看到任何api调用数据,api,react-native,Api,React Native,嗨,我是新来的。我试图调用任何api,但无法在应用程序屏幕上看到任何数据,但可以在控制台上看到数据。我认为这个问题与我的状态有关,但每当我试图在状态上添加任何内容时,它都会给我一个响应“json.data”不是一个对象。请指导我。提前感谢 导出默认应用=()=>{ const[isLoading,setLoading]=useState(true); const[data,setData]=useState([]); useffect(()=>{ 取('https://URL', { 方法:“G
导出默认应用=()=>{
const[isLoading,setLoading]=useState(true);
const[data,setData]=useState([]);
useffect(()=>{
取('https://URL', {
方法:“GET”,
超时:10000,
标题:{
接受:'application/json',
“内容类型”:“应用程序/json”
},
正文:JSON.stringify({
“本条:”,
“此2”:”
})
})
.然后((response)=>response.text())
.then((responseData)=>{console.log(responseData);})
.then((json)=>setData(text(json.data)))
.catch((错误)=>console.error(错误))
.最后(()=>setLoading(false));[];
}, []);
返回(
{正在加载?:(
{data.text}
(
{item.skill}
)}
/>
)}
);
};
您必须先解析JSON,然后才能显示:
编辑:我用response.json()
替换了response.text()
,以正确处理json(例如:解析)
导出默认应用=()=>{
const[isLoading,setLoading]=useState(true);
const[data,setData]=useState([]);
useffect(()=>{
取('https://URL', {
方法:“GET”,
超时:10000,
标题:{
接受:'application/json',
“内容类型”:“应用程序/json”
},
正文:JSON.stringify({
“本条:”,
“此2”:”
})
})
.then((response)=>response.json())
.then((data)=>setData(json.data))
.catch((错误)=>console.error(错误))
.最后(()=>setLoading(false));[];
}, []);
返回(
{正在加载?:(
(
{item.skill}
)}
/>
)}
);
};
谢谢您的帮助。我试图解析数据,但在控制台中显示的承诺错误是“未处理的承诺拒绝:语法错误:JSON解析错误:意外EOF]*[本机代码]:解析中为空..然后((response)=>response.JSON())。然后((JSON)=>setData(JSON.data)).catch((error)=>console.error(error))。最后()=>setLoading(false));[];},[]);index}renderItem={({item})=>({item.skill}}/>@luvywh我做了一些修复。你能试试吗?@luvywh很好!它很有效!请将答案标记为已解决。