网站搜索

typescript - 在 NextJS 的 getServerSideProps 中无法在初始化前访问变量

我正在使用 Firebase,并在 firebase.tsx 中初始化 API 和函数以获取所需的数据,然后在我的 pages/index.tsx 文件中导入它们,但是在 Firebase 应用初始化后无法访问导出内容

services/firebase.tsx:

import firebase, { FirebaseOptions } from 'firebase/app' import { getAuth } from 'firebase/auth'; import { collection, doc, setDoc, getFirestore, query, where, getDocs, orderBy } from "firebase/firestore"; import { getStorage } from 'firebase/storage'; import { getAnalytics } from "firebase/analytics"; im

阅读更多 →

reactjs - 警告:属性 `id` 不匹配。NextJS 中的服务器

我正在尝试消除我项目中的一个警告:

react-dom.development.js?61bb:67 Warning: Prop `id` did not match. Server: "t4j6jv-aria" Client: "v0lutu9-aria"

不幸的是,我完全不知道问题的原因,任何帮助或协助都将不胜感激。这是 CasinoList.tsx 中第 60 行的内容:

这是第60行:

阅读更多 →

reactjs - 在 Windows 驱动器字母中使用 Yarn 和 NextJS 时大小写无效

我今天在我的 Windows 电脑上使用 Yarn 和 NextJS 建立了一个新项目。启动时,我收到一个错误,提示我的项目目录的大小写“无效”。具体来说,我看到以下错误:

typescript - 解决 NextJS 应用中的依赖循环问题

我在我的 NextJS 应用程序中遇到了依赖循环的问题,目前正在努力解决。

这是我的文件。我只包含了显示依赖循环错误的导入项

store.ts:

import rootSaga from './sagas/rootSaga';import authSliceStore from './slices/auth/authSlice.store'; // Dependency cycle via ./auth/auth.saga const persistConfig = { key: 'ea-root', version: 1, storage, blacklist: ['authError'], }; export const rootReducer = combineReducers({ auth: authSliceStore, }); const persistedReducer = persistReducer(persistConfig, rootReducer); const sag

阅读更多 →

reactjs - nextjs 强制将 ES6 转译为 ES5 忽略 tsconfig

Nextjs 在编译时忽略 tsconfig 的 target 选项。ES6 类和箭头函数转译为函数。

当 next build 在终端中写入时

info - Using tsconfig file: ./tsconfig.json

并且路径别名不会导致错误。所以我的 tsconfig 正在应用。但是 nextjs 转译所有箭头函数、类等等

// tsconfig.json { "compilerOptions": { "target": "es2020", "lib": [ "webworker", "dom", "dom.iterable", "esnext"

阅读更多 →

javascript - TypeError:无法读取未定义的属性(读取 'name')在 Nextjs 部署到 Vercel 时

我收到了下面的文件,它抱怨出现了 TypeError。

我正在尝试使用 Nextjs 在 Vercel 上部署应用程序。

TypeError: Cannot read properties of undefined (reading 'name')

请查看以下代码

import { RawNodeDatum } from 'react-d3-tree/lib/types/common'; interface nodeBFSInterface { name: string; tree: RawNodeDatum | RawNodeDatum[]; newNodeName: string; attributes: { type: string; url?: string | undefined; weight?: number | undefined; }; } function nodeBFS(nodeBFSInterface: nod

阅读更多 →

webpack - Monorepo:(NextJS 13 + TypeScript)模块解析失败

我正试图将一个当前可以运行的 Next.js 13 应用迁移到一个单一的 monorepo。我基本上是使用 npx create-turbo@latest 创建了一个新的仓库,然后将我现有的仓库(我们称它为“frontend”)移动到 apps/ 文件夹下。之后,我在 apps/frontend/package.json 中添加了 'ui' 依赖:

{ "name": "frontend", "version": "0.1.0", "private": true, "dependencies": { ... "ui": "*", } ... }

并在 next.config.js 中

阅读更多 →

typescript - 使用 create-t3-stack(NextJS,NextAuth)时 Credentials Provider 会话总是返回 null

所以我正在尝试让登录页面使用数据库中的电子邮件和密码工作,但当我点击提交时,我总是得到会话为 null。这是我正在做的事情:

CredentialsProvider({ name: "Credentials", credentials: {}, async authorize(credentials: any) { //check user const user: any = await prisma.user.findUnique({ where: { email: credentials.email, }, }); if (!user) { throw new Error("No user found"); } console.log("user credentials",

阅读更多 →

reactjs - 我如何解决 NextJS 中 useRef 的问题?

我正在使用 Nextjs 制作一个 SSG 页面。我通过写一个标签而不是 Next.js 的 标签导入了 model-viewer。并且我想在用户进入该页面时自动激活 AR。因此我在 useEffect() 中使用 useRef 调用 activateAR(),但由于 useRef 的值为 'null' 导致发生错误。

  1. 使用 'next/link',第一次错误 -> 刷新?它可以工作。
  2. 在浏览器中使用或直接输入 URL,可以正常工作,没有错误。尽管一开始控制台窗口会打印 null。

请为我的开发者之路指明方向。👼

哦,这个页面是使用动态路由的 SSG。

const viewer = useRef<any>(null); useEffect(()=>{ function loadArFile() { viewer.current?.activateAR(); } viewer && loadArFile(); } ,[]) <Hea

阅读更多 →

reactjs - 在 NextJS 中混合客户端和服务器端代码安全吗?

喜欢使用 NextJs,因为它能够轻松在同一个框架中管理客户端和服务器端代码。

显然我知道 NextJS 会将它知道如何分离的代码分开(例如 getServerSideProps),但在同一个文件中同时拥有客户端和服务器端的变量/辅助函数是否安全?

例如,假设我有一个名为 constants.ts 的文件,位于代码库的某个位置。如果该文件包含如下内容:

/* constants.ts */ export const REALLY_SECRET_KEY = 'XXX' export const NAME_OF_MY_SITE_FOR_USE_IN_FRONTEND_CODE = 'Mixing it Up'

只要我不从客户端相关的代码部分导入,NextJS 是否能相当好地防止泄露 REALLY_SECRET_KEY?它的树摇(tree-shaking)到底有多“安全”?

我知道将东西分开存放有实际原因;既有

阅读更多 →