【发布时间】:2020-02-15 02:32:04
【问题描述】:
我正在尝试从数据库中获取所有文本(像帖子一样的推文)。但它显示错误 TypeError: undefined is not a function (near '...posts.map...')
下面是我的代码:
import React, {useEffect, useState} from 'react';
import {ActivityIndicator, Text, View, FlatList} from 'react-native';
import stylesheet from '../src/styles/HomeStyle';
import AsyncStorage from '@react-native-community/async-storage';
function FeedScreen() {
// const [posts, setPosts] = useState('loading');
const [posts, setPosts] = useState({
text: '',
id: '',
});
const Boiler = async () => {
const token = await AsyncStorage.getItem('token');
fetch('http://192.168.1.5:3000/post', {
headers: new Headers({
Authorization: 'Bearer ' + token,
}),
})
.then(res => res.json())
.then(res => {
setPosts(res.posts);
})
.catch(err => console.log(err));
};
useEffect(() => {
Boiler();
}, []);
return (
<View style={stylesheet.container}>
{posts.map(post => (
<Text key={post.id}>{post.text}</Text>
))}
</View>
);
}
export default FeedScreen;
【问题讨论】:
-
posts初始值是一个对象,所以它不能被映射。也许应该是:[{text: "",id: ""}]或只是[]?
标签: node.js react-native react-hooks