Reactjs React Native将电影的api数据显示到屏幕上
您好,我正在尝试显示这些电影的api,但它们不会显示在我的手机上,但当我登录控制台时,它们会在我的终端上工作,只是在向设备显示结果时出现问题 起初,我没有给出一个错误的答案 TypeError undefined不是对象 {正在评估'state.results.map'} 下面是代码Reactjs React Native将电影的api数据显示到屏幕上,reactjs,api,react-native,video,axios,Reactjs,Api,React Native,Video,Axios,您好,我正在尝试显示这些电影的api,但它们不会显示在我的手机上,但当我登录控制台时,它们会在我的终端上工作,只是在向设备显示结果时出现问题 起初,我没有给出一个错误的答案 TypeError undefined不是对象 {正在评估'state.results.map'} 下面是代码 import React ,{ useState }from 'react'; import axios from'axios'; import { StyleSheet, Text, View ,ScrollVi
import React ,{ useState }from 'react';
import axios from'axios';
import { StyleSheet, Text, View ,ScrollView,TextInput} from 'react-native';
export default function App() {
const apiurl = "http://www.omdbapi.com/?i=tt3896198&apikey=4c0e830";
const [state,setState] = useState({
s:'Enter A Movie...',
results:[],
selected:{}
});
const search = () => {
axios(apiurl + "&s=" + state.s).then(({data})=>{
let results = data.Search
console.log(results)
setState(prevState =>{
return {...prevState,results:results}
})
})
}
return (
<View style={styles.container}>
<Text style={styles.Header}>Movie DataBase</Text>
<TextInput
style={styles.searchBar}
onChangeText={text => setState(prevState =>{
return{...prevState, s: text}
})}
onSubmitEditing={search}
value = {state.s}
/>
<ScrollView style={styles.results}>
{state.results.map(result => {
<View key={result.imdbID} style={styles.result}>
<Text>{result.Title}</Text>
</View>
})}
</ScrollView>
</View>
);
}
import React,{useState}来自“React”;
从“axios”导入axios;
从“react native”导入{样式表、文本、视图、滚动视图、文本输入};
导出默认函数App(){
常量apiurl=”http://www.omdbapi.com/?i=tt3896198&apikey=4c0e830";
常量[状态,设置状态]=使用状态({
s:“输入电影…”,
结果:[],
所选:{}
});
常量搜索=()=>{
axios(apiurl+“&s=“+state.s)。然后({data})=>{
让results=data.Search
console.log(结果)
设置状态(prevState=>{
返回{…prevState,结果:results}
})
})
}
返回(
电影数据库
设置状态(prevState=>{
返回{…prevState,s:text}
})}
onSubmitEditing={search}
值={state.s}
/>
{state.results.map(结果=>{
{result.Title}
})}
);
}
尝试添加以下内容:
{state.results && state.results.map (...)
或:
或:
{state.results.length > 0 && state.results.map (...)
{state.results !== undefined && state.results.map (...)