The Movie Database Support

I'm building an IMDB-like app for a college assignment in react native, and i'm having trouble with the multi search function.

when i have my endpoint search for movies, everything works just fine, but if i change the endpoint to search tv shows or multiple search, it returns empty for some reason.

would be glad if anyone might help.

6 replies (on page 1 of 1)

Jump to last post

Hi @Gunlol, to get assistance, please supply the api urls you are using. Replace your api key with a string like API_KEY or xxxxxxx.

const apiBaseUrl = `https://api.themoviedb.org/3`

as it says, this is the base URL

const searchMoviesEndpoint = `${apiBaseUrl}/search/movie?api_key=${apiKey}`

this is the URL end point i'm using. if i replace the movie with tv or multi (as in the documentation), i get an empty array as the result.

const apiCall = async (endpoint, params) => {
    const options = {
        method: 'GET',
        url:endpoint,
        params: params? params: {language: 'en-US'}
    }

    try {
        const response = await axios.request(options)
        return response.data

    }catch(error) {
        console.log("error: ", error)
        return {}
    }
}

this is the apiCall function i'm using

export const searchMovies = (params)=>{
    return apiCall(searchMoviesEndpoint, params);
}

this is the function for the search im using, that passes the parameters to the apiCall function above

small update, i managed to find out that i am getting a result back from the api call, but for some reason its not storing the result.

im using .map to go over the array that comes back from the api call, but i either have a problem with the .map function or the .length function.

im using react native expo, and the error im having is "cannot read property 'length' of undefined".

everything works fine when i have the endpoint set as: search/movie, but it doesn't work when i have it set as: search/tv or search/multi

Hi @robbie3999,would be glad if you could help me.

hi @Gunlol, I would be glad to help but I don't do javascript coding. I can provide you help with the tmdb api calls as needed.

A quick search of "cannot read property 'length' of undefined" for react/javascript shows this, it looks like you are trying to use the length property on something that is undefined or empty so check the value first before trying to use length.

Can't find a movie or TV show? Login to create it.

Global

s focus the search bar
p open profile menu
esc close an open window
? open keyboard shortcut window

On media pages

b go back (or to parent when applicable)
e go to edit page

On TV season pages

(right arrow) go to next season
(left arrow) go to previous season

On TV episode pages

(right arrow) go to next episode
(left arrow) go to previous episode

On all image pages

a open add image window

On all edit pages

t open translation selector
ctrl+ s submit form

On discussion pages

n create new discussion
w toggle watching status
p toggle public/private
c toggle close/open
a open activity
r reply to discussion
l go to last reply
ctrl+ enter submit your message
(right arrow) next page
(left arrow) previous page

Settings

Want to rate or add this item to a list?

Login