You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Supabase邮箱密码注册报错:无法解析Signup参数的解决办法

解决Supabase邮箱密码注册的参数解析错误

问题原因

错误提示明确说明:无法将对象解析为SignupParams.email字段所需的字符串类型。你的代码中,signUp方法的email和password参数错误地传成了对象,而非字符串值。

修正后的注册函数

把email: { email }改为直接传字符串变量email,password: { password }同理修改:

const signInWithEmail = async () => {
  const { data, error } = await supabase.auth.signUp({
    email: email,
    password: password,
    options: {
      data: {
        first_name: "John",
        age: 27,
      },
    },
  });

  error ? console.log(error) : console.log(data);
};

也可以用ES6对象简写语法,代码更简洁:

const signInWithEmail = async () => {
  const { data, error } = await supabase.auth.signUp({
    email,
    password,
    options: {
      data: {
        first_name: "John",
        age: 27,
      },
    },
  });

  error ? console.log(error) : console.log(data);
};

额外小提示

表单按钮的disabled属性使用了loading变量,但你的状态变量是isLoading,建议统一变量名避免逻辑错误:

<button
  onClick={(e) => {
    e.preventDefault();
    signInWithEmail();
  }}
  disabled={isLoading}
  className=""
>
  {isLoading && (
    <Icons.spinner className="mr-2 h-4 w-4 animate-spin" />
  )}
  Sign In with Email
</button>

内容的提问来源于stack exchange,提问作者CTRL-In-Knowledge

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.14 23:55:34