我正在尝试将我获取的api数据显示给模拟器。当我在控制台中打印它时,它确实会打印获取的api,但是在模拟器屏幕上我什么都看不到。我认为它没有在屏幕上打印任何内容。我的api有名称,类,公司。我只需要像在屏幕上打印名称和类 名称 类 所以先命名,再命名,就是类。我正在使用react-native和expo,并在iOS模拟器上显示数据。
我的代码:
import React, { useState, useEffect } from "react";
import {
StyleSheet,
View,
TouchableWithoutFeedback,
Keyboard,
FlatList,
TextInput,
Button,
Text,
} from "react-native";
import { useStocksContext } from "../contexts/StocksContext";
import { scaleSize } from "../constants/Layout";
import { Ionicons } from "@expo/vector-icons";
import { ListItem } from "react-native";
export default function SearchScreen({ navigation }) {
const { ServerURL, addToWatchlist } = useStocksContext();
const [state, setState] = useState({
myListData: [],
});
useEffect(() => {
renderWithData();
SearchScreen state
}, []);
renderWithData = () => {
return fetch("http://131.181.190.87:3001/all")
.then((res) => res.json())
.then((json) => {
setState({
isLoaded: true,
myListData: json,
});
setTimeout(() => {
console.log(state.myListData);
}, 10000);
});
};
return (
<TouchableWithoutFeedback onPress={Keyboard.dismiss}>
<View style={styles.container}>
<TextInput
style={styles.textinput}
placeholder="Search here"
placeholderTextColor="white"
/>
<FlatList
style={styles.flatstuff}
data={state.myListData}
keyExtractor={(item) => item.symbol}
renderItem={({ item }) => <Text key={item.symbol}>{item.data}</Text>}
/>
</View>
</TouchableWithoutFeedback>
);
}
const styles = StyleSheet.create({
textinput: {
color: "white",
height: "20",
fontSize: 18,
},
text: {
color: "white",
},
flatstuff: {
color: "white",
},
});
我不确定我在做什么错,但是有人可以告诉我为什么它无法在屏幕(模拟器)iOS上打印吗?