Не удалось извлечь свойство данных для взрослых или нет из TMDB

#javascript #html #reactjs #fetch-api

Вопрос:

Я пытаюсь создать клон приложения BookMyShow. Я получаю данные из TMDB для базы данных фильмов. Я пытаюсь добавить, будет ли это фильм для детей или фильм для взрослых, поэтому я использовал свойство для взрослых в TMDB. Но, похоже, это не работает. Это мой код:

 import React from "react";

const Grid = (props) => {
    return (
        <>
            <div className="border-box w-full">
                <div className="float-left w-1/5 mr-8 mb-4 flex flex-col">
                    <div>
                        <img className="w-full rounded-lg" src={`https://image.tmdb.org/t/p/original${props.poster_path}`} 
                        alt={props.original_title} />
                    </div>
                    <div className="my-8">
                        <h3 className={ `truncate font-semibold text-xs md:text-lg lg:text-xl ${props.isDark ? "text-white" : "text-black"}` }> {props.title} </h3>
                        <p className="font-semibold text-gray-600"> Ratings : {props.vote_average} </p>
                        <p className="text-gray-500 uppercase"> {props.original_language} </p>
                        <p className="text-gray-500 uppercase"> {props.adult ? "18 " : "UA"} </p>
                    </div>
                </div>
            </div>
        </>
    )
};

export default Grid; 

vote_average и original_language и другие реквизиты работают нормально. Но собственность для взрослых, похоже, не работает. Спасибо.

Ответ №1:

Я думаю, что в ответе API field флага для взрослых adult нет original_adult . Поэтому вам необходимо обновить код, чтобы

 <p className="text-gray-500 uppercase"> {props.adult ? "18 " : "UA"} </p>
 

Вот реализация, которую я сделал несколько лет назад : git

Приложение в действии : Filmingo

Комментарии:

1. Ах! он по-прежнему возвращает только «UA» для каждого фильма, даже если props.adult соответствует действительности.

2. @AravinthVimal вы можете попробовать в режиме инкогнито . Проверьте правильность значения флага.