无法将 undefined 或 null 转换为 Next.js 中的对象

2024-02-21

嘿,我正在使用 Next.js 和 next-auth 构建一个登录页面 我还在providers数组中写过[...nextauth].js.

但是当我运行代码(如下所示)时:-

import { getProviders, signIn } from "next-auth/react";

function Login({ providers }) {
  return (
    <div>
      <img src="/spot-it-aye.png" alt="" />

      {Object.values(providers).map((provider) => (
        <div key={provider.name}>
          <button
            onClick={() => signIn(provider.id, { callbackUrl: "/" })}>
            Login With {provider.name}
          </button>
        </div>
      ))}
    </div>
  );
}

export default Login;

export async function getServerSideProps() {
  let providers = await getProviders();

  return {
    props: {
      providers,
    },
  };
}

我得到了

这是编译时的控制台

[next-auth][error][CLIENT_FETCH_ERROR] 
https://next-auth.js.org/errors#client_fetch_error request to https://localhost:3000/api/auth/providers failed, reason: write 
EPROTO 12752:error:1408F10B:SSL routines:ssl3_get_record:wrong version number:c:\ws\deps\openssl\openssl\ssl\record\ssl3_record.c:332:
 {
  error: {
    message: 'request to https://localhost:3000/api/auth/providers failed, reason: write EPROTO 12752:error:1408F10B:SSL routines:ssl3_get_record:wrong version number:c:\\ws\\deps\\openssl\\openssl\\ssl\\record\\ssl3_record.c:332:\n',
    stack: 'FetchError: request to https://localhost:3000/api/auth/providers failed, reason: write EPROTO 12752:error:1408F10B:SSL routines:ssl3_get_record:wrong version number:c:\\ws\\deps\\openssl\\openssl\\ssl\\record\\ssl3_record.c:332:\n' +       
      '\n' +
      '    at ClientRequest.<anonymous> (E:\\Coding\\VSCode\\Next JS\\spotify-2.0\\node_modules\\node-fetch\\lib\\index.js:1461:11)\n' +
      '    at ClientRequest.emit (node:events:390:28)\n' +
      '    at ClientRequest.emit (node:domain:475:12)\n' +
      '    at TLSSocket.socketErrorListener (node:_http_client:447:9)\n' +
      '    at TLSSocket.emit (node:events:390:28)\n' +
      '    at TLSSocket.emit (node:domain:475:12)\n' +
      '    at emitErrorNT (node:internal/streams/destroy:157:8)\n' +
      '    at emitErrorCloseNT (node:internal/streams/destroy:122:3)\n' +
      '    at processTicksAndRejections (node:internal/process/task_queues:83:21)',
    name: 'FetchError'
  },
  path: 'providers',
  message: 'request to https://localhost:3000/api/auth/providers failed, reason: write EPROTO 12752:error:1408F10B:SSL routines:ssl3_get_record:wrong version number:c:\\ws\\deps\\openssl\\openssl\\ssl\\record\\ssl3_record.c:332:\n'
}

任何帮助,将不胜感激。 注意:我尝试使用


我也有同样的问题。我能够获取内部的提供者对象getServerSideProps但它并没有像它应该在页面内那样传递下去。所以这与我的方式有关_app.tsx被配置为接收pageProps.

我正在遵循一个教程,下面是我的应用程序如何配置为接收页面道具,这就是问题所在:

function MyApp({ Component, pageProps:{ session, pageProps} }: AppProps) {
    
    console.log(session);
    return (
        <SessionProvider session={session}>
            <Component {...pageProps} />
        </SessionProvider>
    )
}

export default MyApp

我将应用程序功能更改为下面的内容,这实际上确保了我的页面正在接收pageProps没有任何问题:

function MyApp({ Component, pageProps }: AppProps) {
    return (
        <SessionProvider session={pageProps.session}>
            <Component {...pageProps} />
        </SessionProvider>
    )
}

export default MyApp
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

无法将 undefined 或 null 转换为 Next.js 中的对象 的相关文章

  • 如何将值发布到输入框中?

    Intro I would like to get the current time after clicking at click and POST the value into input text box Note 假设包含引导样式表
  • 如何在反应组件中使用聚合物组件?是否可以?

    我已经使用谷歌的聚合物来制作网络组件 但我也很有兴趣尝试一下 React 所以我想知道是否可以从反应组件的渲染函数内部使用聚合物组件 对的 这是可能的 我使用的方法有点复杂 但我很乐意分享 如果您已经使用过聚合物 则只需像使用任何其他聚合物
  • Javascript 进程是否有多个执行线程?

    背景 我正在创建一个 地址簿 类型的应用程序 有很多条目需要加载 一个想法是首先加载一小部分条目 让用户开始 然后将剩余条目排队 优先考虑用户单击的条目 例如 如果他们单击以 X 开头的名称 请先加载这些名称 然后再处理队列的其余部分 这个
  • 判断字符串是否包含有效的javascript代码

    我正在寻找一个C 返回的函数true如果字符串包含有效的 JavaScript 语法 例如 IsValidJavascript alert hello 会回来true but IsValidJavascript alertXXhelloZ
  • 如何将 Ajax.BeginForm MVC 助手与 JSON 结果一起使用?

    我正在尝试使用 ASP NET MVC Ajax BeginForm 帮助程序 但不想在调用完成时使用现有的内容插入选项 相反 我想使用自定义 JavaScript 函数作为回调 这可行 但我想要的结果应该以 JSON 形式返回 不幸的是
  • Angular UI 路由器嵌套视图问题

    我在理解 Angular UI Router 嵌套视图的工作原理时遇到了一些问题 我的 stateProvider 看起来像这样 stateProvider state login url login views main template
  • JavaScript 相当于 Python 的参数化 string.format() 函数

    这是 Python 示例 gt gt gt Coordinates latitude longitude format latitude 37 24N longitude 115 81W Coordinates 37 24N 115 81W
  • 使用 jQuery inputmask 插件范围 0-100

    如何创建 0 到 100 范围内的掩码 document ready function masked inputmask 您可以使用jquery inputmask regex extensions js为了那个原因 你可以找到带有所有扩展
  • 如何将一个数组中的所有项目复制到另一个数组中?

    如何将数组的每个元素 其中元素是对象 复制到另一个数组中 以便它们完全独立 我不想更改一个数组中的元素来影响另一个数组 这里的关键是 数组中的条目是对象 并且 您不希望对一个数组中的对象的修改显示在另一个数组中 这意味着我们不仅需要将对象复
  • EmberJS:对象作为查询参数来刷新模型

    我遵循了查询参数指南 http guides emberjs com v1 11 0 routing query params http guides emberjs com v1 11 0 routing query params 而且效
  • 检查用户设备的 GPS 是否开启

    我正在使用 jQuery Mobile 和 PHP 开发一个应用程序 我没有使用 Phonegap 或其他框架 我需要找到用户的geolocation 如果用户设备的 GPS 关闭 那么我无法获取位置 现在我需要查找用户设备的 GPS 是否
  • 从 Context Provider 重定向 React Router

    我是 React Router 的新手 并尝试使用新的 Conext API 从提供程序内部进行重定向 基本上我的提供者看起来像这样 AuthContext js class AuthProvider extends React Compo
  • 播放没有音频标签的音频

    是否可以在没有音频标签的情况下仅使用 javascript 播放音频 我通过 tinyMce 编辑器注入脚本 因为我无权访问网站的后端 并且它不支持客户端的音频标签 她只想要当您将鼠标悬停在图像上时发出简单的声音 我已经完成了所有设置 但是
  • ES6 模块范围

    我有代码 lib js var a a export var b b main js console log a a variable is not available in a global scope import b from lib
  • node.js 模块/导出系统:是否可以将模块导出为函数

    我想在 Dispatch js 中做这样的事情 function handle msg exports handle 这在调用index js中 var dispatch require Dispatch dispatch data 有任何
  • Svelte 条件元素类报告为语法错误

    我正在做一个if块每if 块的精简指南 https svelte technology guide if blocks 这看起来很简单 但 Svelte 认为这是一个语法错误 svelte plugin ParseError Unexpec
  • 从网页运行 ClickOnce 应用程序,无需用户操作

    我们有一个基于 Java 的 Web 应用程序以及用 C 编写的相同应用程序 如果 java 检查器发现客户端计算机上没有安装 Java 则应该运行该应用程序 这个想法是运行 C 单击一次 http en wikipedia org wik
  • 如何在 TypeScript 中使用 navigation.replace ?

    我试图在我的代码中使用它 const navigation useNavigation navigation replace AllFriends 但我不断收到错误消息 Property replace does not exist on
  • Vue - 调度完成后调用 store getter?

    我正在使用 Laravel 5 7 Vue2 Vuex 我在调度调用完成后让 Vue 返回存储值时遇到一些困难 我的申请流程如下 我单击一个提交按钮 该按钮调用组件上的 validate Validate 分派到我的 addLease 操作
  • JavaScript 阶乘防止无穷大

    我一直在 JavaScript 中使用这个函数来计算阶乘数 var f function factorial n if n 0 n 1 return 1 if f n gt 0 return f n return f n factorial

随机推荐

  • 从指定的屏幕区域创建位图

    我正在尝试从屏幕上的特定区域创建位图 例如 在下图中 我如何捕获下面的窗口区域并将其转换为位图 我知道您可以使用 setDrawingCacheEnabled true 但是当我想要的只是视图中的一个区域时 它会捕获整个视图 其实你可以用A
  • RStudio 演示文稿/slidify/pandoc 中的两列布局

    我正在尝试想出一个好的系统来生成幻灯片和随附的讲义 理想的系统将具有以下属性 演示文稿 PDF HTML 和讲义 PDF 布局都很漂亮 讲义应该有做笔记的空间 嵌入 R 块 图形 其他 JPG PNG 图片等 易于创作 使用命令行工具构建
  • 如何声明一个字节ArrayList

    我正在尝试做 var mahByteArray new ArrayList
  • 如何更改CUDA版本

    我在编译修改后的caffe版本时遇到了这个错误 OpenCV static library was compiled with CUDA 7 5 support Please use the same version or rebuild
  • 自由格式代码可以包含在固定格式代码中吗?

    我继承了一个固定格式文件 FFTRUN f 该文件的开头如下所示 SUBROUTINE FFTRUN 2e USE intrinsic ISO C BINDING USE FFTWmod ONLY FFTWplan fwd FFTWplan
  • 发布到 IIS 后启用 CORS 不起作用

    我将 dotnet core 2 2 Web api 应用程序托管到本地 IIS 当我运行托管网站时 网站正在运行 我正在尝试从角度登录 但它不起作用 It says 从源 http localhost 4200 访问位于 http 192
  • 如何在维护模式下使用 Nginx 提供静态资产(503)[重复]

    这个问题在这里已经有答案了 我在我的网站服务器上使用 Nginx 作为前端代理 我想用它来将用户重定向到我的 Web 应用程序 当它处于活动状态时 或当我处于维护模式时将用户重定向到维护 php 页面 这是我的服务器指令 server li
  • Node.js process.exit() 不会在 createReadStream 打开时退出

    我有一个通过 EAGI 与 Asterisk 通信的程序 Asterisk 打开我的 Node js 应用程序并通过 STDIN 向其发送数据 程序通过 STDOUT 发送 Asterisk 命令 当用户挂断电话时 Node js 进程会收
  • C *[] 和 ** 之间的区别

    这可能是一个有点基本的问题 但是写 char 和 char 有什么区别 例如 在 main 中 我可以有一个 char argv 或者我可以使用 char argv 我认为这两种符号之间一定存在某种差异 在这种情况下 根本没有区别 如果您尝
  • 如何在 Java 中向字符串添加换行符?

    在 Java 应用程序中 我创建一个如下所示的字符串 通过串联 String notaCorrente dataOdierna testoNotaCorrente 我的问题是我想在此字符串末尾添加类似 HTML 换行符的内容 将显示在 HT
  • 子串上的熔化和合并 - Python 和 Pandas

    我有数据 其中有类似的数据 id name model ms bp1 cd1 sf1 sa1 rq1 bp2 cd2 sf2 sa2 rq2 1 John 23984 1 23 234 124 25 252 252 62 194 234 2
  • 将参数传递给 AddHostedService

    我正在编写一个 Net Core Windows 服务 下面是一段代码 internal static class Program public static async Task Main string args var isServic
  • 如何使用 Swagger UI 访问 AWS API Gateway 文档

    我已经使用 AWS Api Gateway 创建了 API 然后我记录了所有实体的文档部分 如 API 资源 方法 模型等 然后使用 AWS Gateway Console 我已将文档发布到dev阶段与版本1 但我不确定我 或 API 的使
  • GWT - MVP 事件总线。创建多个处理程序

    我正在处理我继承的大型应用程序 并且遇到了一些最佳实践问题 每次用户导航到我们的客户编辑页面时 都会创建一个新的演示者并设置一个视图 有一个用于客户编辑的主演示者和一个主视图 主视图中还存在由主演示者的子演示者使用的子视图 在子演示者中 我
  • 3D numpy 数组转换为块对角矩阵

    我正在寻找一种将 nXaXb numpy 数组转换为块对角矩阵的方法 我已经遇到过scipy linalg block diag http docs scipy org doc scipy 0 13 0 reference generate
  • 内联块的水平滚动在 Firefox 中有效,但在 Chrome 中无效

    我已经在 Firefox 中实现了水平滚动 但在 Chrome 中不起作用 在 Firefox 中我遇到这种情况 其中 A B C D 是 div 但是当使用 Chrome 访问同一页面时 我看到的是 div 的结构如下 div class
  • 下载时进度条

    我有一个可进行应用内下载的应用程序 我通过以下方式成功下载了mp3文件 NSData data1 NSData dataWithContentsOfURL NSURL URLWithString http somefile mp3 data
  • “HTTP.SYS 中的 URL 保留”是什么意思?

    无法理解这句话的意思 论坛上的人们互相建议在 HTTP sys 中保留 url 但这意味着什么呢 它是做什么用的 它是如何运作的 这一切都来自于 HttpWebRequest uac 问题 一些 Win32 API 和 NET 框架组件 例
  • 百度的echarts - 填充两行之间的空间

    我想找到一种在 ECharts 中绘制两条线并填充它们之间的空间的方法 如下所示 这样每条线都有自己的颜色 根据线条的顺序 区域填充为一种颜色或另一种颜色 见图 有本地方法吗 我发现有些人在提到extensions 但没有人提供任何关于如何
  • 无法将 undefined 或 null 转换为 Next.js 中的对象

    嘿 我正在使用 Next js 和 next auth 构建一个登录页面 我还在providers数组中写过 nextauth js 但是当我运行代码 如下所示 时 import getProviders signIn from next