Next.js — ошибка TypeError: невозможно переопределить свойство: $$idJavascript

Форум по Javascript
Ответить
Гость
 Next.js — ошибка TypeError: невозможно переопределить свойство: $$id

Сообщение Гость »


Я работаю над руководством по Next.js, которое будет сопровождаться видео на YouTube. Это клон Facebook Threads, над которым я работаю, чтобы изучить Next.js. Что касается создания темы, то есть (простого поста). Я получаю эту ошибку 500 от приложения:

— ошибка node_modules/next/dist/build/webpack/loaders/next-flight-loader/action-proxy.js (37:11) @ defineProperties - ошибка TypeError: невозможно переопределить свойство: $$id в Function.defineProperties () при eval (./lib/actions/thread.actions.ts:43:81) в (actionBrowser)/./lib/actions/thread.actions.ts (/Users/danielrubio/Desktop/threads/.next/server/app/(root)/create-thread/page.js:3366:1) в Function.__webpack_require__ (/Users/danielrubio/Desktop/threads/.next/server/webpack-runtime.js:33:42) нулевой Из вывода видно, что виновником является строка 43 файла thread.actions.ts. Однако в этом файле нет строки 43. Ниже приведен файл полностью:

'использовать сервер' импортировать пользователя из «../models/user.model»; импортировать тему из «../models/thread.model»; импортировать {connectToDB} из "../mongoose"; импортировать {revalidatePath} из "next/cache"; Параметры интерфейса { текст: строка, автор: строка, CommunityId: строка | нулевой, путь: строка, } экспортировать асинхронную функцию createThread({текст, автор, CommunityId, путь} :Params) { пытаться { подключитьToDB(); const созданныйThread = ждут Thread.create({ текст, автор, сообщество: ноль, }) ждут User.findByIdAndUpdate(автор, { $push: { темы: созданныйThread._id } }) revalidatePath (путь); } catch(ошибка: любая) { throw new Error(`Не удалось создать тему: ${error.message}`); } } экспортировать createThread по умолчанию; Файл содержит всего 37 строк, поэтому я не знаю, что может быть причиной этой ошибки. Судя по предыдущей работе с React, я думаю, что это какая-то ошибка TypeScript, но я не уверен.

Ниже представлена ​​модель потока:

импортировать мангуста из «мангуста»; const threadSchema = новый mongoose.Schema({ текст: { тип: строка, обязательное: true }, автор: { тип: mongoose.Schema.Types.ObjectId, ссылка: «Пользователь», требуется: правда }, сообщество: { тип: mongoose.Schema.Types.ObjectId, ссылка: «Сообщество» }, создан в: { тип: Дата, по умолчанию: Дата.сейчас }, родительскийID: { тип: Строка }, дети: [ { тип: mongoose.Schema.Types.ObjectId, ссылка: «Тема» } ] }) const Thread = mongoose.models.Thread || mongoose.model('Thread', threadSchema); экспортировать поток по умолчанию; А вот форма, которую я визуализирую для создания потока:

'использовать клиент' импортировать {useForm} из 'реагировать-хука-формы'; импортировать { zodResolver } из '@hookform/resolvers/zod' импортировать * как z из «zod»; импортировать {usePathname, useRouter} из 'next/navigation'; импортировать {Кнопку} из '../ui/button'; Импортировать { Форма, ФормКонтроль, ФормаОписание, Формфилд, ФормаЭлемент, Метка Формы, ФормаСообщение, } из "@/comComponents/ui/form" импортировать { Textarea } из "@/comComponents/ui/textarea" импортировать { ThreadValidation } из '@/lib/validations/thread'; импортируйте createThread из @/lib/actions/thread.actions; Реквизит интерфейса { идентификатор пользователя: строка; } функция PostThread({userId}: Props) { const router = useRouter(); const путь = usePathname(); const form = useForm({ преобразователь: zodResolver(ThreadValidation), значения по умолчанию: { потоки: '', идентификатор аккаунта: идентификатор пользователя, } }) const onSubmit = async (значения: z.infer) => { жду createThread({ текст: значения.thread, автор: идентификатор пользователя, идентификатор сообщества: нуль, путь: имя пути }) router.push('/') } возвращаться( ( Содержание )} /> Публикация темы ) } экспортировать PostThread по умолчанию; Я новичок в Next.js, поэтому мне сложно понять, что может означать эта ошибка. Если кто-нибудь сможет помочь мне понять, как устранить эту неполадку, я буду признателен.
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Javascript»