单击如下按钮时,我试图获取输入值:
这是我用来存储值的变量:
let textInput = React.createRef();
这就是我这样做的方式:
<input ref={textInput} type="tel" placeholder="Número de teléfono"></input>
然后,我有一个按钮:
<button onClick={fetchRequest} className="btn btn-default">Comprobar teléfono</button>
那叫这个:
const fetchRequest = useCallback(() => {
database.collection('UsuariosDev').where('Telefono', '==',
textInput.current.value).get()
.then(response => {
const fetchedUsers = [];
response.forEach(document => {
const fetchedUser = {
id: document.id,
...document.data()
};
fetchedUsers.push(fetchedUser);
console.log(fetchedUser)
});
setUsers(fetchedUsers);
if (fetchedUsers.length !== 0) {
setTitle('✔️')
} else {
setTitle('❌')
}
})
}, [])
基本上每次我点击按钮时,我都会进行一次 Firestore 查询。第一次它工作得很好,但第二次单击按钮时,我收到一个错误,提示 textInput 为空:
TypeError:null 不是对象(评估'textInput.current.value')
有任何想法吗?