☀️ 기상시간 - 9:00
🌕 마감시간 - 24:20
❌ 오프라인 모임으로 구래동 다녀온 날. 오후에 출발했는데 도로공사때문에 예상치못하게 이동시간이 더 걸려버렸고, 내 체력도 동시에 떨어져서 낮잠을 조금 자버렸다ㅠㅠ
background-color: ${(props) => {
if (props.mode === 'icon') return '#fff';
return props.color;
//mode='icon'일 경우에만 흰색으로 지정. 나머지는 color props 받아오기
}};
이런식으로 props를 받아올 수 있다는 것도 알게 되었다. 역시 코드는 스스로 작성해보면서 배우는 부분이 많은 것 같다.
2. useState를 통해 버튼에 기능을 추가하고 싶었는데 아직도 사용법이 익숙하지가 않아서, 손을 못쓰고 있다가
<Button mode="full" onClick={ () => {
console.log("This is a Basic button.");
}}>contained</Button>
버튼 클릭 시 콘솔에 찍히는걸 확인하고 너무 신기하고 놀라웠다. 아직도 코드의 세계는 내게 너무 놀라움의 연속이다 😲
3. 애니메이션 세번째 버튼 보더에 효과를 주고 싶은데,, 너무 어려운 것 같다. 아무래도 방향을 바꿔야 할 것 같다. &::after
이런식의 스타일링을 주는데 무슨 의미인지도 모르니... 내일은 꼭 완성을 해야겠다.
import React, { useState, useEffect } from "react";
import styled from "styled-components";
const [id, setId] = useState("");
const [pasw, setPasw] = useState("");
const [name, setName] = useState("");
const [email, setEmail] = useState("");
useEffect(() => {
console.log({
id,
pasw,
name,
email
});
});
export default function App(props) {
return (
<SignIn>
<input value={id} onChange={onChangeId} placeholder="id" />
<input value="pasw" type="password" placeholder="password" />
<input
value="confirmPasw"
type="password"
placeholder="confrim password"
/>
<input value="name" placeholder="name" />
<input value="email" placeholder="e-mail" />
<button onClick={() => setSubmit(console.log(submit))}>SUBMIT</button>
</SignIn>
);
}
const SignIn = styled.div`
display: flex;
flex-direction: column;
width: 100px;
`;
부끄럽지만 오늘 회원가입창을 30분안에 만들어보라는 ethen의 갑작스러운 미션에 대한 나의 결과물이었다...ㅠㅠ 아주 참혹한.... 심지어 마지막에 에러난 상태로 끝나버렸다ㅠㅠ
이후에 리뷰를 하면서 직접 보여주는것을 보며 다시 배웠기에 내일 공부하며 수정해보려 한다.
1. 우선 코드가 길더라도 일일이 작성해보는 작업을 거쳐야겠다.
const [id, setId] = useState('');
function handleChange(e) {
setId(e.target.value);
반복되는 작업을 통해, 어떤 부분이 중복되는지 눈으로 확인하고 줄이는 방법을 계속해서 연구하는 작업을 거쳐야겠다.
2. 내가 작업한 코드에서는 value 생각을 못했는데, <input>
태그에서 type, value, name, onChange 등의 요소를 넣어주어야 조작할 수 있다는걸 다시 깨달았다.