Changeset 5a9c93b for my-react-app/src/components/AppContent.js
- Timestamp:
- 03/05/24 14:15:44 (15 months ago)
- Branches:
- main
- Children:
- db39d9e
- Parents:
- a2c6c2b
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
my-react-app/src/components/AppContent.js
ra2c6c2b r5a9c93b 2 2 import WelcomeContent from "./WelcomeContent"; 3 3 import AuthContent from "./AuthContent"; 4 import LoginForm from "./LoginForm"; 5 import { request, setAuthToken } from "../axios_helper"; 6 import Buttons from './Buttons' 4 7 5 8 export default class AppContent extends React.Component { 9 constructor(props) { 10 super(props); 11 this.state = { 12 componentToShow: "welcome" 13 }; 14 }; 15 16 login = () => { 17 this.setState({componentToShow: "login"}) 18 } 19 20 logout = () => { 21 this.setState({componentToShow: "welcome"}) 22 } 23 24 onLogin = (e, email, password) => { 25 e.preventDefault(); 26 request( 27 "POST", 28 "/api/login", 29 {login: email, password: password} 30 ).then((response) => { 31 this.setState({componentToShow: "restaurants"}) 32 setAuthToken(response.data.token); 33 }).catch((error) => { 34 this.setState({componentToShow: "welcome"}) 35 }); 36 }; 37 38 onRegister = (e, firstName, lastName, email, password) => { 39 e.preventDefault(); 40 request( 41 "POST", 42 "/api/register", 43 { 44 firstName: firstName, 45 lastName: lastName, 46 login: email, 47 password: password 48 } 49 ).then((response) => { 50 this.setState({componentToShow: "restaurants"}) 51 setAuthToken(response.data.token); 52 }).catch((error) => { 53 this.setState({componentToShow: "welcome"}) 54 }); 55 }; 56 6 57 render() { 7 58 return ( 8 59 <div> 9 <WelcomeContent/> 10 <AuthContent/> 60 <Buttons login={this.login} logout={this.logout}></Buttons> 61 {this.state.componentToShow === "welcome" && <WelcomeContent/>} 62 {this.state.componentToShow === "restaurants" && <AuthContent/>} 63 {this.state.componentToShow === "login" && <LoginForm onLogin={this.onLogin} onRegister={this.onRegister}/>} 11 64 </div> 12 65 )
Note:
See TracChangeset
for help on using the changeset viewer.