Estoy tratando de probar si mi botón 'iniciar sesión' funciona y console.log muestra las credenciales ingresadas en los campos de nombre de usuario y contraseña. La aplicación Myreact se inicia correctamente y muestra los campos de nombre de usuario y contraseña para que el usuario ingrese sus credenciales. Es solo el consol.log que parece ser el problema :/
state = { credentials: {username: '', password: ''} } Login = event => { console.log('this.state.credentials'); } import React, { Component} from 'react'; // Class components need a render function class Login extends Component { state = { credentials: {username: '', password: ''} } Login = event => { console.log('this.state.credentials'); } inputChanged = event => { const cred = this.state.credentials; cred[event.target.name] = event.target.value; this.setState({credentials: cred}); } render() { return ( <div> <h1>Login user form</h1> <label> Username: <input type="text" name="username" value={this.state.credentials.username} onChange={this.inputChanged}/> </label> <br/> <label> Password: <input type="password" name="password" value={this.state.credentials.password} onChange={this.inputChanged} /> </label> <br/> <button onClick={this.login}>Login</button> <button onClick={this.register}>Register</button> </div> ); } } export default Login; import React from 'react'; import './App.css'; import Login from './components/login'; function App() { return ( <div className="App"> <Login /> </div> ); } export default App; import React from 'react'; import ReactDOM from 'react-dom'; import './index.css'; import App from './App'; import reportWebVitals from './reportWebVitals'; ReactDOM.render( <React.StrictMode> <App /> </React.StrictMode>, document.getElementById('root') ); // If you want to start measuring performance in your app, pass a function // to log results (for example: reportWebVitals(console.log)) // or send to an analytics endpoint. Learn more: xyz;¡Cualquier ayuda es apreciada!
En realidad, escribió mal el nombre del método de inicio de sesión, declara el nombre del método como "Iniciar sesión", pero hace referencia en la función onclick como "this.login" en minúsculas. Prueba a cambiarlo y debe funcionar.
state = { credentials: {username: '', password: ''} } login = event => { console.log('this.state.credentials'); }