أعمل على مشروع قمت بعمله بـ nextJS 14 و typescript وكان الموقع يعمل بشكل طبيعي ولكن فجأة ظهر خطأ عندما أنتقل لصفحة chats يتوقف المتصفح عن الإستجابة ويحدث render لانهائي كما ترون في الصورة أدناه
وفي أعلى الكونسول يظهر تحذير موضح في الصورة التي في الأسفل
هذا ملف chats.tsx
"use client";import{ auth } from "@/auth";import{ getUsersForSidebar } from "@/lib/data";importChat from "./chat";import{ useState } from "react";import{IChatDocument} from "@/models/chatModel";constChats=async()=>{const[selectedChat, setSelectedChat]= useState<IChatDocument|null>(null);const session =await auth();const chats = session?.user ?await getUsersForSidebar(session.user._id):[];const handleSelectedChat =(chat:IChatDocument)=> setSelectedChat(chat);return(<nav className="flex-1 overflow-y-auto"><ul>{chats.map((chat)=>(<Chat
key={chat._id}
chat={chat}
handleSelectedChat={handleSelectedChat}
selectedChat={selectedChat}/>))}</ul></nav>);};exportdefaultChats;
الخطأ الذي يحدث فيه render لانهائي يشير إلى هذا السطر
const session =await auth();
لذلك قد يكون ملف auth.ts له علاقة بالخطأ لهذا الكود الخاص بالملف في الأسفل
importNextAuth from "next-auth";importGitHub from "next-auth/providers/github";import{ connectToMongoDB } from "./lib/db";importUser from "./models/userModel";import randomString from "random-string";exportconst{ handlers, signIn, signOut, auth }=NextAuth({
providers:[GitHub({
clientId: process.env.AUTH_GITHUB_ID,
clientSecret: process.env.AUTH_GITHUB_SECRET,}),],
secret: process.env.AUTH_SECRET,
callbacks:{async session({ session }){try{await connectToMongoDB();if(session.user){const user =awaitUser.findOne({ email: session.user.email });if(user){
session.user._id = user._id;
session.user.userCode = user.userCode;return session;}else{thrownewError("User Not Found!");}}else{thrownewError("Invalid Session!");}}catch(error){
console.log(error);// Throw an error or return null to indicate an invalid sessionthrownewError("Invalid session");}},async signIn({ account, profile }){if(account?.provider ==="github"){await connectToMongoDB();try{const user =awaitUser.findOne({ email: profile?.email });// Sign up user if not foundif(!user){const coding = randomString({
length:8,
numeric:true,
letters:true,
special:false,});const newUser =awaitUser.create({
username: profile?.login,
email: profile?.email,
userCode: coding,
fullName: profile?.name,
avatar: profile?.avatar_url,});await newUser.save();}returntrue;// indicate successful sign-in}catch(error){
console.log("Sign in Error: ", error);returnfalse;}}returnfalse;},},});
السؤال
فينيكس العربي
أعمل على مشروع قمت بعمله بـ nextJS 14 و typescript وكان الموقع يعمل بشكل طبيعي ولكن فجأة ظهر خطأ عندما أنتقل لصفحة chats يتوقف المتصفح عن الإستجابة ويحدث render لانهائي كما ترون في الصورة أدناه
وفي أعلى الكونسول يظهر تحذير موضح في الصورة التي في الأسفل
هذا ملف chats.tsx
الخطأ الذي يحدث فيه render لانهائي يشير إلى هذا السطر
لذلك قد يكون ملف auth.ts له علاقة بالخطأ لهذا الكود الخاص بالملف في الأسفل
2 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.