К содержимому
Hub
Barcha qaydlar

24-avgust, 2026 · 3 daqiqa

Chizish paytidagi revalidatePath butun sahifani qulatadi

Next.jsКэшОтладкаServer Actions

Yozishmalar sahifasi server xatosi bilan ochilardi. Suhbat bazada yaratilardi, xabarlar yozilardi, lekin sahifani ochib bo'lmasdi.

Kod zararsiz ko'rinardi: sahifa xabarlarni oladi va bir vaqtning o'zida «o'qildi» belgisini qo'yadi — server amali orqali. Amal ichida esa revalidatePath bor edi.

Xato shunda. revalidatePath'ni sahifa chizilayotganda chaqirib bo'lmaydi: Next butun marshrutni qulatadi.

Yechim — belgini amal orqali emas, to'g'ridan-to'g'ri so'rov bilan qo'yish.

Umumiy qoida: server amallari forma yoki bosishga javoban chaqirilishi uchun, sahifa yig'ilayotganda emas.

React · TSX
/*  Отметка о прочтении ставится здесь напрямую, а не вызовом  серверного действия markConversationRead.  Действие внутри дёргает revalidatePath, а он во время отрисовки  страницы запрещён — Next роняет весь маршрут с серверной ошибкой.  Снаружи это выглядело как «переписка не открывается»: страница  отдавала 500, и написать было физически некуда.  Сбрасывать кэш здесь и не нужно: страница и так собирается на  каждый запрос.*/if (!user.impersonatedBy) {  await prisma.conversationMember.update({    where: { conversationId_userId: { conversationId: id, userId: user.id } },    data: { lastReadAt: new Date() },  });}