Nextjs 13 — обновление проблемы SSG ⇐ Javascript
Nextjs 13 — обновление проблемы SSG
У меня возникли проблемы с обновлением данных на простой странице данных. Сценарий прост: у меня есть страница, на которой отображаются данные категории, и другая страница, на которой редактируются те же данные. Когда я редактирую и перенаправляю обратно на страницу списка, я хочу, чтобы список обновлялся новыми данными. Поскольку это страница создания статического сайта (SSG), она создается во время сборки, что приводит к статическим данным.
импортировать prismadb из "@/lib/prismadb"; импортировать КатегорииКлиент из "./компоненты/клиент"; экспорт константной динамики = "форс-динамический"; экспортировать асинхронную функцию по умолчанию. Категории (рез) { пусть категории; категории = ждут prismadb.category.findMany({ Сортировать по: { создано: "описание", }, }); const formattedCategories = категории.map((категория) => ({ идентификатор: категория.идентификатор, имя: категория.имя, isActive: категория.isActive, })); возвращаться ( ); } асинхронная функция onSubmit(data) { пытаться { setLoading (истина); если (начальные данные) { await axios.patch(`/api/categories/${params.categoryId}`, data); } еще { await axios.post(`/api/categories`, data); } маршрутизатор.обновить(); router.push(`/categories`); тост.успех(успехСообщение); } поймать (ошибиться) { toast.error(`Произошла ошибка: ${err.response.data}`); } окончательно { setLoading (ложь); } } Я пробовал использовать свойство revalidate на странице списка, но оно работает только при принудительном обновлении, а не на маршрутизаторе, который я использую.
export const revalidate = 1; В настоящее время у меня есть Force-Dynamic, чтобы сделать страницу динамической. Проблема в том, что когда я перенаправляюсь на страницу с помощью маршрутизатора или ссылки Next.js, все работает нормально. Однако, когда я вручную обновляю страницу с помощью F5 или ввожу ссылку вручную, я получаю ошибку 500 (только когда я нахожусь в среде prod, в Netlify. На локальном компьютере все работает нормально).
Есть ли способ решить эту проблему и обеспечить правильное обновление страницы во всех сценариях, включая обновление вручную?
Можете ли вы помочь мне с этой проблемой? Я застрял на этом несколько дней..
У меня возникли проблемы с обновлением данных на простой странице данных. Сценарий прост: у меня есть страница, на которой отображаются данные категории, и другая страница, на которой редактируются те же данные. Когда я редактирую и перенаправляю обратно на страницу списка, я хочу, чтобы список обновлялся новыми данными. Поскольку это страница создания статического сайта (SSG), она создается во время сборки, что приводит к статическим данным.
импортировать prismadb из "@/lib/prismadb"; импортировать КатегорииКлиент из "./компоненты/клиент"; экспорт константной динамики = "форс-динамический"; экспортировать асинхронную функцию по умолчанию. Категории (рез) { пусть категории; категории = ждут prismadb.category.findMany({ Сортировать по: { создано: "описание", }, }); const formattedCategories = категории.map((категория) => ({ идентификатор: категория.идентификатор, имя: категория.имя, isActive: категория.isActive, })); возвращаться ( ); } асинхронная функция onSubmit(data) { пытаться { setLoading (истина); если (начальные данные) { await axios.patch(`/api/categories/${params.categoryId}`, data); } еще { await axios.post(`/api/categories`, data); } маршрутизатор.обновить(); router.push(`/categories`); тост.успех(успехСообщение); } поймать (ошибиться) { toast.error(`Произошла ошибка: ${err.response.data}`); } окончательно { setLoading (ложь); } } Я пробовал использовать свойство revalidate на странице списка, но оно работает только при принудительном обновлении, а не на маршрутизаторе, который я использую.
export const revalidate = 1; В настоящее время у меня есть Force-Dynamic, чтобы сделать страницу динамической. Проблема в том, что когда я перенаправляюсь на страницу с помощью маршрутизатора или ссылки Next.js, все работает нормально. Однако, когда я вручную обновляю страницу с помощью F5 или ввожу ссылку вручную, я получаю ошибку 500 (только когда я нахожусь в среде prod, в Netlify. На локальном компьютере все работает нормально).
Есть ли способ решить эту проблему и обеспечить правильное обновление страницы во всех сценариях, включая обновление вручную?
Можете ли вы помочь мне с этой проблемой? Я застрял на этом несколько дней..
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение