我在 NextJS 项目中使用 lottie JSON 文件来显示其中一些很酷的动画。
问题是 Lottie JSON 文件很大,确实降低了应用程序的性能。有没有人找到一种方法来使用这些动画,而不会将其项目的性能得分减半?
我在我的个人网站(下面的链接)上使用它们,lottie 文件位于服务部分(如果您滚动到下面一点)。初始页面加载感觉有点慢,我真的很想找到解决方案。
如何检查用户是否是第一次使用 Next-Auth 登录?
我尝试按照官方文档实现 newUser 页面,但它似乎并没有真正起作用。这是我在 [...nextauth].js 文件中的页面配置:
pages: {
signIn: "/auth/login",
newUser: "/auth/new-user",
},
Run Code Online (Sandbox Code Playgroud)
我还尝试检查 jwt 回调上的 isNewUser 参数,但我只是获取了登录用户的数据,但没有用处:
callbacks: {
jwt: async (token, user, account, isNewUser) => {
console.log(isNewUser)
\\There is no relevant info using this
}
}
Run Code Online (Sandbox Code Playgroud)
当用户创建帐户(家庭住址、出生日期等)时,我的应用程序需要更多信息,而使用 SSO 并不总是提供这些信息。我需要检查用户是否第一次登录,以便我可以将他们重定向到表单以填写缺少的信息。
我想知道在 SvelteKit 中获取数据的最佳方法是什么,因为我在我的应用程序上遇到了以下问题。
如您所见,我的商店没有初始值。然后在“+page.server.js”文件上执行数据获取逻辑:

然后,我循环查看商店中的待办事项并显示项目列表。问题是,在浏览器上第一次渲染时,我收到以下错误:

这有点道理,因为商店没有初始值。然后,我决定将存储的原始值更改为空数组(因为获取的数据进入数组),如下所示:

当我进行此更改时,UI 以正确的状态呈现(todos 存储已获取数据),不久之后,数据消失,我得到一个空数组。
这是 SvelteKit 的预期行为吗?如果我需要在服务器上获取数据,正确的数据获取方法是什么(我在数据库调用上有 API 密钥,所以我无法在客户端上获取数据,因为 Vite 会抛出错误)。