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
1/*2 Отметка о прочтении ставится здесь напрямую, а не вызовом3 серверного действия markConversationRead.45 Действие внутри дёргает revalidatePath, а он во время отрисовки6 страницы запрещён — Next роняет весь маршрут с серверной ошибкой.7 Снаружи это выглядело как «переписка не открывается»: страница8 отдавала 500, и написать было физически некуда.910 Сбрасывать кэш здесь и не нужно: страница и так собирается на11 каждый запрос.12*/13if (!user.impersonatedBy) {14awaitprisma.conversationMember.update({15where: { conversationId_userId: { conversationId: id, userId: user.id } },16data: { lastReadAt: newDate() },17 });18}