import { useState } from "react";
const ToggleChallenge = () => {
const [showAlert, setShowAlert] = useState(false);
const toggleAlert = () => {
if(showAlert) {
setShowAlert(false)
return
}
setShowAlert(true)
}
return <div>
<button className="btn" onClick={toggleAlert}>toggle Alert</button>
{showAlert && <Alert/>}
</div>
};
const Alert = () => {
return <div className="alert alert-danger">hello world</div>
}
export default ToggleChallenge;
toggleAlert 함수를 사용하지 않고 onClick에 직접적으로 showAlert값을 변동가능하도록 할 수 있도록 간결하게도 가능하다.
<button className="btn" onClick={() => setShowAlert(!showAlert)}>toggle Alert</button>
"안녕하세요 여기는 user name 입니다." 과 로그아웃 버튼이 있는 h4
"로그인 해주세요." 과 로그인 버튼이 있는 h4
import { useState } from "react";
const UserChallenge = () => {
const [user, setUser] = useState(null);
const login = () => {
setUser({name : "맥도날드"})
}
const logout = () => {
setUser(null)
}
return <div>
{user ? (
<h4>안녕하세요. 여기는 {user.name} 입니다.</h4>
) : (
<h4>로그인 해주세요.</h4>
)}
<button className="btn" onClick={!user ? login : logout}>{user ? "Logout" : "Login"}</button>
</div>;
};