【发布时间】:2022-01-20 22:38:36
【问题描述】:
我正在用 React 写一个网页。
我调用 API,一切正常。 我的请求的 json 响应中有一个“错误”属性。
组件结束:
const er = data.Error
return <p> {er} </p>
我可以在网页上看到正确的错误消息。
但是当我写这样的东西时:
if(data.Error.includes('specific error message...')
return <p> 'specific error message...' </p>
我收到以下消息:
TypeError: Cannot read properties of undefined (reading 'includes')
所有组件:
import React from "react";
import Movie from "./Movie";
import { useEffect, useState } from 'react';
export default function MovieList({searchValue}) {
const [data, setData] = useState([])
//Onmount
useEffect(() => {
async function init() {
//API Calls- request data from the server
const response = await fetch('http://www.omdbapi.com/?apikey=ca0aa516&s=' + searchValue);
const body = await response.json();
setData(body);
}
init()
}, [searchValue])
console.log(data)
if(data.Search) {
return (
<div className="container-fluid movie-app" >
<div className="row">
{
data.Search.map((movie) => {
return (
<Movie link={movie.Poster} />
)
})
}
</div>
</div>
)
}
const er = data.Error
return <p> {er} </p>
}
【问题讨论】:
-
请把完整的代码放在这里帮助你
-
它说错误未定义!
-
@HDM91 使用可选链或在使用包含之前检查错误可以修复错误
-
@Farzaneh Pichlou 你说得对,但我想知道为什么它是未定义的
-
@HDM91 您没有任何错误,您的请求成功
标签: reactjs components include