Но сборка завершается с ошибкой синтаксического анализа еще до запуска.
Ошибка:
Код: Выделить всё
Build Error
Parsing ecmascript source code failed
./context/FormDataContext.client.ts (10:31)
Parsing ecmascript source code failed
8 | const [formData, setFormData] = useState({});
9 | return (
> 10 |
| ^^^^^
11 | {children}
12 |
13 | );
Expected '>', got 'value'
Import traces:
Client Component Browser:
./context/FormDataContext.client.ts [Client Component Browser]
./components/ClientProviders.tsx [Client Component Browser]
./components/ClientProviders.tsx [Server Component]
./app/layout.tsx [Server Component]
Код: Выделить всё
'use client';
import React, { createContext, useContext, useState } from "react";
const FormDataContext = createContext(null);
export function FormDataProvider({ children }: { children: React.ReactNode }) {
const [formData, setFormData] = useState({});
return (
{children}
);
}
export function useFormData() {
const context = useContext(FormDataContext);
if (!context) throw new Error("useFormData must be used within FormDataProvider");
return context;
}
Код: Выделить всё
'use client';
import { FormDataProvider } from "@/context/FormDataContext.client";
export function ClientProviders({ children }: { children: React.ReactNode }) {
return {children};
}
Код: Выделить всё
import "./globals.css";
import { ClientProviders } from "@/components/ClientProviders";
export default function RootLayout({ children }: { children: React.ReactNode }) {
return (
{children}
);
}
Сборка завершается с ошибкой во время компиляции с ожидаемым '>', получено 'значение', указывающее на строку JSX:
Похоже, что компилятор (SWC) синтаксис JSX заглушается, хотя он допустим TypeScript + JSX.
Это происходит только в этом файле контекста — другие файлы .tsx с JSX работают нормально.
Добавлено «использовать клиент» вверху (первая строка)
Файл переименован из .client.ts в .client.tsx
Перезапущен сервер разработки/удален .next
Переустановлены зависимости
Проверенная конфигурация TS включает «jsx»: «preserve»
Пыталась переместить поставщика в /comComponents вместо /context
Каждый раз тот же результат.
Подробнее здесь: https://stackoverflow.com/questions/797 ... -in-client
Мобильная версия