如何解决我正在尝试从 React-Native 应用程序的数据库中获取我的数据
如果我输入 .then(data =>{console.log(data)}),我可以看到数据但不会显示在我的应用程序中。我应该怎么办?谢谢
function Home(props) {
const [data,setData] = useState([]);
const [loading,setLoading] = useState(true);
const loadData = () => {
fetch(url,{
method: "GET"
})
.then(resp => resp.json())
.then(data => {
setData(data)
setLoading(false)
})
.catch(error => Alert.alert('error',error.message))
};
useEffect(() => {
loadData();
},[])
{/*
return (
<View style={styles.homeText}>
<FlatList
data={data}
renderItem={({ item }) => {
return renderData(item)
}}
onRefresh={() => loadData()}
refreshing={loading}
keyExtractor={item => `${item.id}`}
/>
)}
我在 Django 视图中的模型是: 查看.py
class MeasurementsViewSets(viewsets.ModelViewSet):
queryset = Measurements.objects.all()
serializer_class = MeasurementsSerializer
我的 urls.py 是:
router = DefaultRouter()
router.register('measurements',MeasurementsViewSets)
#router.register(r'measurements',views.MeasurementsViewSets) // this doesn't work either
在 Django 中,我得到:"GET /api/measurements/ HTTP/1.1" 200
解决方法
您不是在获取数据本身。只有响应。
将您的 loadData 方法更改为:
const loadData = () => {
fetch(url,{
method: "GET"
})
.then(resp => resp.json())
.then(res => { <------------ THIS
setData(res.data) <----- AND THIS
setLoading(false)
})
.catch(error => Alert.alert('error',error.message))
};
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。