reactjs TypeError:无法将undefined或null转换为对象|下一个验证

dphi5xsq  于 2022-11-22  发布在  React
关注(0)|答案(1)|浏览(133)

我正在尝试使用Nextauth进行登录。这是我的代码:

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

function signIn({ providers }) {
    return (
        <>
        {Object.values(providers).map((provider) => (
            <div key={provider.name}>
              <button onClick={() => SignIntoProvider(provider.id)}>
                Sign in with {provider.name}
              </button>
            </div>
          ))}
        </>
    );
}

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

    return {
        props: {
            providers
        }
    }
}

export default signIn;

但我得到这个错误:
error image
我看到有人犯了和我相似/相同的错误。我已经尝试了所有建议的解决方案。这就是问题所在:
Server Error : TypeError: Cannot convert undefined or null to object
当我用绿色的钩子尝试解决方案时,什么也没有发生。甚至没有错误。
其他的也不管用。
我做错了什么???最好的祝愿。

ctehm74n

ctehm74n1#

添加如下所示的空检查function signIn({ providers }) { return ( <> {providers && !!Object.keys(providers).length && Object.values(providers).map((provider) => ( <div key={provider.name}> <button onClick={() => SignIntoProvider(provider.id)}> Sign in with {provider.name} </button> </div> ))} </> ); }

相关问题