reactjs - React 的问题“无法读取 null 的属性‘addEventListener’”
问题描述
尝试将登录功能添加到登录按钮,但由于某种原因,它说“无法读取 null 的属性 'addEventListener'”,我不知道如何修复它。
我已经添加了window.onload = function(){}
对我的其他组件有效但对这个无效的组件。
问题出在这部分。
window.onload = function(){
document.getElementById("submit").addEventListener("click", function(){
UserLogin();
})
}
这是整个代码:
import React from 'react';
import './App.css';
import * as firebase from 'firebase/app';
import 'firebase/auth';
import firebaseConfig from './Config';
//import { BrowserRouter as Router, Route, Link } from "react-router-dom";
firebase.initializeApp(firebaseConfig);
function UserLogin(){
var email = document.getElementById('email').value;
var password = document.getElementById('password').value;
firebase.auth().signInWithEmailAndPassword(email, password).catch(function(error) {
//var errorCode = error.code;
//var errorMessage = error.message;
});
}
window.onload = function(){
document.getElementById("submit").addEventListener("click", function(){
UserLogin();
})
}
function Login(){
return(
<div class="start">
<h1>Login</h1>
<div class="input">
<input id="email" type="text" placeholder="email"></input>
<input id="password" type="password" placeholder="password"></input>
<button id="submit">Login</button>
</div>
</div>
)
}
export default Login;
解决方案
如果您希望UserLogin
在组件完成加载时自动调用您的函数,那么您可以使用(Added in React 16.8)。Hooks
import React, {useEffect} from 'react';
function Login(){
useEffect(() => {
UserLogin();
});
return(
<div class="start">
<h1>Login</h1>
<div class="input">
<input id="email" type="text" placeholder="email"></input>
<input id="password" type="password" placeholder="password"></input>
<button id="submit">Login</button>
</div>
</div>
)
}
推荐阅读
- java - 如何为特定键处理事件
- python - 通过使用“或”运算符来避免重复代码行不会得到与复制行时相同的结果
- java - 为什么此 JPQL 失败并显示消息“您已尝试在位置 1 设置此查询字符串中不存在的参数”?
- scale - Apache Ignite - 有没有办法避免并置计算中的热点节点
- python - 如何为电报机器人处理 InlineKeyboardButtons 的回调
- javascript - 测试一个 javascript 互斥锁实现
- php - 如何为我的应用程序博客文章显示从我的数据库中获取的标题
- excel - 如果优先级(从最高到最低)标准匹配到另一个工作表,则复制整行数据
- python - 如何在单行代码中删除 python 3 中类列表中的 [ , ] 和单引号?
- python - 使用聚合列和未聚合列创建 DataFrame