, поэтому я работаю над проектом, который загружает список карточек, которые получают данные из API, такие как «Id, title, URL и URL-адрес миниатюр».
Карты в настоящее время загружают изображениеЕСЛИ API-интерфейс предоставляет миниатюрный URL-адрес, но если миниатюрный URL-адрес не предоставлен, то я хотел установить замещающее изображение, которое будет отображаться на его месте. На следующем изображении показано, как карты в настоящее время установлены с + без URL-адреса миниатюр:
Как вы можете видеть, в настоящее время я установил изображение-заполнитель,но по какой-то причине, есть раздел «ошибка», который загружается под заполнителем, что означает, что изображение не предоставляется в разделе изображения. Мне было интересно, как я могу официально заявить, что это изображение-заполнитель, чтобы использовать его без необходимости жесткого кодирования изображения в карту?
Код для создания карты следующий:
import React, { Component } from "react";
import "../help/HelpCardTwo.css";
import "../help/HelpList";
import Popup from "reactjs-popup";
import placeholder from "../help/placeholder.jpeg";
interface Props {
id: string;
url: string;
title: string;
thumbnail: string;
deleteProduct: (id: any) => void;
editProduct: (id: any, title: string, url: string, thumbnail: string) => void;
}
interface State {
title: string;
thumbnail: string;
id: string;
url: string;
imageLoading?: boolean;
tooManyRequests?: boolean;
}
export default class HelpCard extends Component<Props, State> {
state = {
url: "",
id: "",
title: "",
imageLoading: true,
tooManyRequests: false,
thumbnail: ""
};
componentDidMount() {
const { url, title, thumbnail } = this.props;
const id = url.split("/")[url.split("/").length - 2];
this.setState({
url,
id,
title,
thumbnail,
imageLoading: true,
tooManyRequests: false
});
}
render() {
const isThumbnail = this.state.thumbnail;
const adminhelpcard = this.state;
return (
<React.Fragment>
<article className="card card--2">
<div className="card__img">
{this.state.imageLoading ? <img src={placeholder} style={{ width: "100%", height: "100%" }}></img> : null}
<img
className="Sprite"
onLoad={() => this.setState({ imageLoading: false })}
onError={() => this.setState({ tooManyRequests: false })}
src={this.state.thumbnail}
/>
</div>
Показанный код предназначен только для части изображения карты, а не для всего остального. Если что-то еще потребуется, пожалуйста, дайте мне знать, и я предоставлю код.
Как я могу официально загрузить изображение заполнителя, не имея под ним маленького квадрата ошибки?
Спасибозаранее