Как передать динамическое значение в getStaticPaths

#reactjs #next.js

Вопрос:

У меня проблема с отправкой динамического значения в getStaticPaths. Я хочу изменить URL-адрес в зависимости от моего контекста. Но возможно ли это, я не знаю. Если нет, то как я могу реорганизовать свой код. Вот то, что я хочу сделать, на что я указываю ниже как на «запрос». Я знаю, что не могу использовать свои контекстные значения в getStaticPaths. Итак, как я могу с этим справиться?

 export const getStaticPaths = async () => {

    const url = `https://www.omdbapi.com/?apikey=[Mykey]=${query}`
    const movies = await axios.get(url)
    const data = movies.data.Search
    const paths = data.map(movie => {
        return {
            params: {id: movie.imdbID}
        }
    })
    return{
        paths,
        fallback:false
    }
}
 

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

1. «Я хочу изменить URL — адрес в зависимости от моего контекста» — не могли бы вы подробнее остановиться на этом? Что вы подразумеваете под «контекстом» в данном случае?

2. Динамические данные, поступающие из моего контекста, который представляет собой название фильма, написанное пользователем.

3. getStaticPaths запускается во время сборки, чтобы определить пути для визуализации — он не имеет доступа к данным, отправляемым пользователем по каждому запросу.

4. Хорошо, я хочу уточнить. Во-первых, у меня есть текстовое поле на индексной странице, я ввожу название фильма, и страница отображает фильмы после возврата данных api, что означает, что изменения страницы зависят от ввода пользователя. Итак, если я нажму на один из них, на странице сведений должно быть указано, на какой фильм я нажал. Моя проблема в том, что я не смог получить идентификатор фильмов, введенный пользователем. Страница идентификаторов действительно хочет знать, какие идентификаторы я верну, поэтому мне нужно знать название фильма в getStaticPaths и запросить базу api для этого имени.