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

React Native集成Firebase认证点击注册报props.handler is not a function错误

报错核心原因

  • 你命名为Signup.js的文件末尾默认导出的匿名组件内,渲染Signin/Signup业务组件时没有传递任何props,你在App.js中给路由对应组件传递的handler属性没有被透传到实际触发点击事件的业务组件中
  • 你贴出的Signup.js文件内的按钮点击事件还传入了未定义的username变量,和父组件定义的SignupHandler/SigninHandler入参不匹配
  • 额外存在重复初始化Firebase的问题,可能引发后续报错

修复步骤

  1. 修正页面文件的导出逻辑
    删除Signup.js(如果你贴的是Signin.js的内容同理)末尾的默认导出代码:
// 删掉这段冗余代码
export default () => {
  return (
    <NativeBaseProvider>
        <Signin />
    </NativeBaseProvider>
  )
}

改为直接导出你写的业务组件即可,NativeBaseProvider统一放在入口文件包裹即可,不需要每个页面单独加。
2. 修正按钮点击传参
把登录/注册按钮的onPress调用逻辑修改为:

onPress={ () => { props.handler(email,password) }}

删除不存在的username参数,和父组件定义的处理函数入参对应。
3. 删除重复的Firebase初始化代码
删掉App.js里多余的初始化调用:

// 删掉这行重复代码
initializeApp(firebaseConfig)

你已经在之前完成过Firebase初始化,不需要重复调用。
4. 如果你是把注册页的代码错贴成了登录页的内容,把对应页面的组件名、文案、跳转逻辑对应修改为注册相关的内容即可。

内容的提问来源于stack exchange,提问作者Juan

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 18:24:10