프론트엔드(8)
-
[React] 여러 개의 input 상태 관리하기(useState에 객체 넣기)
🍈이번 시간에는 input이 여러 개일 때 상태를 관리하는 방법에 대해서 알아보겠다. function InputSample(){ const onChange = (event) => { }; const handleReset = () => { }; return ( 초기화 값: 이름 (닉네임) ) } 위와 같이 InputSample 컴포넌트를 작성한다. 이렇게 보인다. 일단 지금은 값에 해당하는 이름 (닉네임) 을 수동으로 작성해 주었다. 🍈 좋지 않은 방법 input이 이렇게 여러 개 되었을 때는 단순히 useState를 여러 번 사용하여 onChange도 여러 개 만들고, 그렇게 구현을 할 수도 있는데 그 방법은 좋은 방법은 아니다. 🍈 좋은 방법 - useState가 객체를 관리하도록 하기 더 좋은 방법은..
2021.04.19 -
[유튜브 클론코딩] 10.4 API Adding a Comment part.3
10.4 API Adding a Comment part.3 🍒이번시간에 할 것 댓글 추가를 페이크(fake)로 할 것이다. 무슨 말이냐면, 누군가 댓글을 달면 덧글 수가 하나 추가된 거처럼 보이고, 방금 작성한 덧글이 보이도록 할 것이다. (그러니까 지금 현재 덧글을 작성하면 새로고침을 해야 반영이 되니까 새로고침하지 않고도 바로 반영이 된 것처럼 보이고 싶어서 그러는 것이다 → 리얼타임처럼 보이고 싶어서 페이크를 하는 것) 🍒 axios의 status code를 listen할 거고 status code가 200이면 그때 댓글이 추가됐다는 거니까 즉 댓글을 페이크로 달 것이다. addComment 함수 만들기(addComment.js) const addComment = (comment) => { cons..
2021.03.23 -
[유튜브 클론코딩] 9.0 Getting User Media
9.0 Getting User Media 비디오를 업로드할 때 비디오 레코드도 가능하게 하는 것을 해볼 것이다. 🍰 views 고치고 scss 만들기 우선 그걸 위해 views를 좀 고치겠다. extends layouts/main block content .form-container .record-container#jsRecordContainer video#jsVideoPreview button#jsRecordBtn Start Recording form(action=`/videos${routes.upload}`, method="post", enctype="multipart/form-data") div.fileUpload label(for="file") Video File input(type="file",..
2021.03.18 -
[유튜브 클론코딩] 8.2 Mute / UnMute
8.2 Mute / UnMute 🍙 이번시간에 해볼 것 : 🔊볼륨 ON(Unmute) / 🔇볼륨OFF(Mute) 참고: https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement HTMLMediaElement - Web APIs | MDN HTMLMediaElement The HTMLMediaElement interface adds to HTMLElement the properties and methods needed to support basic media-related capabilities that are common to audio and video. The HTMLVideoElement and HTMLAudioElement element..
2021.03.16 -
[유튜브 클론코딩] 8.1 Play Pause Functionality
8.1 Play Pause Functionality 🍔 assets > js > videoPlayer.js 파일을 만든다 그리고 이것을 사용할 수 있도록 main.js에서 videoPlayer.js 파일을 import 해준다. import "../scss/styles.scss"; import "./videoPlayer"; ↑ main.js 🍔 videoBlock.pug에 id를 따로 추가해준다 오직 자바스크립트에서만 사용하고 싶기 때문에 아이디를 추가하는 것이다. mixin videoPlayer(video = {}) .videoPlayer#jsVideoPlayer video(src=`/${video.src}`) .videoPlayer__controls .videoPlayer__column span i.f..
2021.03.16 -
[유튜브 클론코딩] 8.0 Starting the Video Player
8.0 Starting the Video Player 이번 chapter 8에서는 비디오플레이어에 대한 front-end부분을 해볼 것이다. 원래는 video의 속성으로 autoplay=true, controls=true라고 쓰면 자동으로 비디오플레이어가 될 수 있지만 이걸 직접 구현해보려고 한다! 🍕views > mixins > videoPlayer.pug를 만든다. mixin videoPlayer(video = {}) .videoPlayer video(src=`/${video.src}`) .videoPlayer__controls .videoPlayer__column span i.fas.fa-volume-up span |00:00 / 10:00 .videoPlayer__column span i.fas...
2021.03.16