#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 для этого имени.