☀️ 기상시간 - 10:00
🌕 마감시간 - 24:30
1. 어제의 과제를 결국 완성을 못하고 두손 두발 들어버렸다. moon과 함께 만나서 다 리셋한 후 다시 시작해보았지만, 맘처럼 화면에 출력하기가 어려웠다. 뭐가 문제인거지
2. 결국 9시에 화상채팅으로 회의를 시작했다. ethen이 직접 코드를 작성하는 것을 보여주었는데 진짜 어이없는 부분에서, 진짜 작은 부분에서의 실수(?)가 나의 코드를 완성하지 못한 이유였다.
3. 기존에 나는 왜때문인지 state값을 한개만 주고 시작을 했다. 그러다 보니 같은 state값을 중복되게 쓰게 되었고, onSubmit과 onChange에 같은 값을 넣어버리니 제대로 작동하지 않는 것이었다.
4. state 초기값에 두가지를 설정했다.
class App extends Component {
state = {
text: "",
result: "",
}
}
그래서 onChange에는 text에 e.target.value
값을 주었고,
onSubmit에는 result에 this.state.text
값을 주었더니 버튼을 눌렀을 때 제대로 출력이 되었다....ㅠㅠ
5. 정말정말 간단한 부분이었다. 하지만 이 과정을 통해서 이벤트핸들러를 어떻게 사용해야 하는지, 그리고 state와 props의 사용에 대해서도 조금은 익혀진 것 같다.
6. 특히 버튼의 스타일지정을 할 때, 이전에 배웠던 styled-components
를 사용하였지만 Button class를 다시 지정함으로서 완성 시켜보았다.
const ButtonStyle = styled.button`
background-color: ${props => props.color};
//그 외 button에 적용할 css들
`;
class Button extends React.Component {
render() {
const { color, onClick, children } = this.props
return (
<ButtonStyle color={color} onClick={onClick}>
{children}
</ButtonStyle>
--> ButtonStyle에 지정된 color와 onClick은 App Component에 있는 Button의 color, onClick와 연결되어서 작동되는 것이었다. 왜냐하면 Button Component는 App Component의 자식 Component이니까 props로 값을 받아서 사용할 수 있기 때문이다.
7. 리서칭을 하다가 스쳐가는 글로 props에는 기본적으로 children
값이 있다는 것을 보았었다. 그런데 오늘 ethen이 코드를 보여주면서 사용하는 것을 보고 방법을 알게 되었다.
8. 물론 완벽하게 혼자서 코드를 완성하는건 아직도 2% 부족한 면이 있지만, 이번에 시행착오를 겪으면서 많이 익숙해진 것 같다.