He creado un botón/función de cierre de sesión simple que estoy casi seguro de que debería funcionar, pero no funciona y tampoco hay ningún error. Aquí está mi código:
import {Link} from 'react-router-dom'; import { CredentialsContext } from '../App'; import Todos from '../Components/Todos'; export default function Welcome() { const [credentials, setCredentials] = useContext(CredentialsContext) const logout = () => { setCredentials(null); } return ( <div> {credentials && <button onChange={logout}>Logout</button>} <h1>Welcome {credentials && credentials.username}</h1> {!credentials &&<Link to="/register">Register</Link>} <br/> {!credentials &&<Link to="/login">Login</Link>} {credentials && <Todos/>} </div> ) }¿Alguna posibilidad de que mi backend tenga algo que ver con eso?
Simplemente use el evento onClick , no onChange .
¡Buena suerte!
<button onChange={logout}>Logout</button>¿Por qué está utilizando el evento onChange en el botón?
<button onClick={logout}>Logout</button>Use el evento onClick en lugar del evento onChange.
Intenta usar
{credentials && <button onChange={()=>{logout}}>Logout</button>} o {credentials && <button onClick={()=>{logout}}>Logout</button>}