Javascript TypeError:“输入错误”;“国家”;是只读的
我试图从我的Axios请求中呈现数据,但是我得到了一个错误:TypeError:“state”是只读的。我想知道如何在手机屏幕上显示数据。我以前从未这样做过,但我看到的很多文章都有人这样做。我做错了什么导致了这个错误Javascript TypeError:“输入错误”;“国家”;是只读的,javascript,react-native,expo,Javascript,React Native,Expo,我试图从我的Axios请求中呈现数据,但是我得到了一个错误:TypeError:“state”是只读的。我想知道如何在手机屏幕上显示数据。我以前从未这样做过,但我看到的很多文章都有人这样做。我做错了什么导致了这个错误 export default function App() { const [state, setState] = useState(); state = { items: [], }; const url = ""; cons
export default function App() {
const [state, setState] = useState();
state = {
items: [],
};
const url = "";
const getAPOD = () => {
axios
.get(url)
.then(function (response) {
// handle success
let title = response.data.title;
console.log(response.data);
setState({
items: title,
});
})
.catch(function (error) {
// handle error
console.log(error);
});
};
return (
<View style={styles.container}>
<Text>{items.title}</Text>
<StatusBar style="auto" />
</View>
);
}
导出默认函数App(){
const[state,setState]=useState();
状态={
项目:[],
};
const url=“”;
常量getAPOD=()=>{
axios
.get(url)
.然后(功能(响应){
//成功
让title=response.data.title;
console.log(response.data);
设定状态({
项目:标题,
});
})
.catch(函数(错误){
//处理错误
console.log(错误);
});
};
返回(
{items.title}
);
}
您必须设置如下状态
const [state, setState] = useState({items:[]});
您可以像以前那样直接指定状态
最好像下面这样修改代码
export default function App() {
const [state, setState] = useState({
items: {title:""},
});
useEffect(getAPOD,[]);
const url = "";
const getAPOD = () => {
axios
.get(url)
.then(function (response) {
// handle success
let title = response.data.title;
console.log(response.data);
setState({
items: title,
});
})
.catch(function (error) {
// handle error
console.log(error);
});
};
return (
<View style={styles.container}>
<Text>{state.items.title}</Text>
<StatusBar style="auto" />
</View>
);
}
导出默认函数App(){
常量[状态,设置状态]=使用状态({
项目:{标题:},
});
使用效果(getAPOD,[]);
const url=“”;
常量getAPOD=()=>{
axios
.get(url)
.然后(功能(响应){
//成功
让title=response.data.title;
console.log(response.data);
设定状态({
项目:标题,
});
})
.catch(函数(错误){
//处理错误
console.log(错误);
});
};
返回(
{state.items.title}
);
}
您必须设置如下状态
const [state, setState] = useState({items:[]});
您可以像以前那样直接指定状态
最好像下面这样修改代码
export default function App() {
const [state, setState] = useState({
items: {title:""},
});
useEffect(getAPOD,[]);
const url = "";
const getAPOD = () => {
axios
.get(url)
.then(function (response) {
// handle success
let title = response.data.title;
console.log(response.data);
setState({
items: title,
});
})
.catch(function (error) {
// handle error
console.log(error);
});
};
return (
<View style={styles.container}>
<Text>{state.items.title}</Text>
<StatusBar style="auto" />
</View>
);
}
导出默认函数App(){
常量[状态,设置状态]=使用状态({
项目:{标题:},
});
使用效果(getAPOD,[]);
const url=“”;
常量getAPOD=()=>{
axios
.get(url)
.然后(功能(响应){
//成功
让title=response.data.title;
console.log(response.data);
设定状态({
项目:标题,
});
})
.catch(函数(错误){
//处理错误
console.log(错误);
});
};
返回(
{state.items.title}
);
}
删除此=>state={items:[],};我得到了错误ReferenceError:items没有定义
我已经一步一步地添加了答案和注释,这样你就知道了一个功能组件是如何工作的;我得到了错误ReferenceError:items未定义
我已逐步添加了答案和注释,以便您了解功能组件的工作原理。我得到了错误ReferenceError:items未定义
您将必须访问state.items,而不是直接在return中访问items谢谢!成功了。我应该声明我在该州从API获得的任何其他信息吗?这取决于你,如果你将值设置为默认值,你可以显示它,直到加载数据为止,如果state.items.title为空,您还可以返回null。它似乎返回未定义的hmmI获取错误ReferenceError:items未定义
您将必须访问state.items,而不是直接在return中访问项谢谢!成功了。我应该在状态中声明我从API获得的任何其他信息吗?这取决于您,如果您将值设置为默认值,则可以在加载数据之前显示它,如果state.items.title为空,则可以返回null。它似乎返回未定义的hmm