typescript React hot吐司useState未从react导出

xyhw6mcr  于 2023-06-24  发布在  TypeScript
关注(0)|答案(1)|浏览(149)

我试图在一个nextjs项目中使用react-hot-吐司,但是当我将其导入到任何文件时,我都会得到这个错误
error - ./node_modules/react-hot-吐司/dist/index.mjs尝试导入错误:“useState”未从“react”导出(作为“j”导入)。
这是我试图导入它的文件

'use client';

import { Icons } from '@/components/Icons';
import { cn } from '@/lib/utils';
import * as React from 'react';
import hotToast, { Toaster as HotToaster } from 'react-hot-toast';

export const Toaster = HotToaster;

他们在这个文件中使用它

import '@/styles/globals.css';
import { Inter } from 'next/font/google';
import { cn } from '@/lib/utils';
import Providers from '@/components/Providers';
import Navbar from '@/components/Navbar';
import { Toaster } from '@/components/ui/toast';

const inter = Inter({ subsets: ['latin'] });
export default function RootLayout({
  children,
}: {
  children: React.ReactNode;
}) {
  return (
    <html
      lang='en'
      className={cn('bg-white text-slate-900 antialiased', inter.className)}
    >
      <body className='min-h-screen bg-slate-50 dark:bg-slate-900 antialiased'>
        <Providers>
          <Toaster position='bottom-right' />
          {/* @ts-expect-error Server Component */}
          <Navbar />
          {children}
        </Providers>
        <div className='h-40 md:hidden' />
      </body>
    </html>
  );
}
qc6wkl3g

qc6wkl3g1#

我认为你的问题与在Nextjs中的服务器组件上运行的代码有关。我遇到过类似的问题,当我在服务器组件上或从客户端组件渲染服务器组件时,另一个库(Tanstack Table)无法从react导入useState。尝试更改您的组件树,以便您不将客户端Toaster作为服务器导航栏的父级。

相关问题