Я пытаюсь преобразовать жизненный цикл аутентификации Firebase следующего компонента класса в метод useEffect хуков.
class App extends React.Component {
state = {
user: null
};
unsubscribeFromAuth = null;
componentDidMount(){
this.unsubscribeFromAuth = firebase.auth().onAuthStateChanged((user) => {
this.setState({user: user});
});
}
componentWillUnmount(){
this.unsubscribeFromAuth();
}
}
Я попытался преобразовать его с помощью следующего кода, похоже, он работаетно я не уверен, что это правильная реализация. Есть предупреждение о том, что «пользователю» присвоено значение, но оно никогда не используется. Должен ли я изменить строку 2 на: $const [ , setUser] = useState(null);
const App = () => {
const [user, setUser] = useState(null);
const unsubscribeFromAuth = useRef(null);
useEffect(() => {
unsubscribeFromAuth.current = auth.onAuthStateChanged((user) => {
setUser(user);
console.log(user);
})
return () => {
unsubscribeFromAuth();
}
}, []);
}