2024.09.30 - [React] - React(리액트) 티키타카 6 (JSX)
를 읽었다면 음.. "먼가 쪼메 재밌는데" 라는 느끼미 이써쓸꼬시당.
MyComponent.jsx 를 아래 처럼 고치고, 낯선 { }에 호기심 시선을 주장.
function MyComponent() { const matchTitle = "흑백개발자 계급전쟁"; const e7e = "E7E"; const minu = "미누"; const win = "승"; return ( <div style={{ border: "4px solid pink" }}> <h1> {matchTitle} </h1> <h2> {e7e} 좋앙! 미누 시롱!</h2> <h2> 근데 2:0 {minu} {win} </h2> </div> ); } export default MyComponent;
결과 영상을 누네 보냈다면 (npm run dev), 아마겟돈 느끼미 또 찾아 왔을 거당.
느끼미를 정리하면 JSX 사이에 { }를 넣으면 자바 스크립트로 인식하냥!
정도일꼬시당. 훌륭하당. 그렇당! (단 지금은 제약사항이 있다라공 기억하장)
[ 아직 타이밍이 깊이 들어가면 기피 현상이 발생할 확률이 노픈 시점이당 ]
MyComponent.jsx 를 아래처럼 고치공 다시 한번 결과 영상을 체킁하장!
function MyComponent() { const myFriends = [ { fid: "f001", name: "미누", age: 45, feature: "왜 미누?" }, { fid: "f002", name: "카리나", age: 24, feature: "로켓 펀치" }, { fid: "f003", name: "경민", age: 24, feature: "삼쏘에 노래" }, { fid: "f004", name: "선주", age: 29, feature: "이미티콘" }, ]; const myEnemies = []; return ( <div style={{ border: "5px groove gold" }}> {!myEnemies.length && <h1>아직 적은 안 나타남</h1>} {myFriends.length && myFriends.map((friend) => ( <h3 key={friend.fid}> {friend.name}는 {friend.age}살 {friend.feature} </h3> ))} </div> ); } export default MyComponent;
React에선 && ( and 연산) 이 아주 많이 습관적으로 사용되는 표현식이당.
&& 앞의 표현이 true일 때만 && 뒤의 표현이 실행 되는 데, 아래와 같은 코드를
if(!myEnemies.length){ /* 실행 코드 */ } if(myFriends.length){ /* 실행코드 */ }
&& 를 이용하여 절약한 경제적 코드라 생각하면 아마겟돈이당!
배열.map은 배열의 개별 요소의 값을 변형 시킬 때 사용하는 메소드 인데,
매개변수로 콜백함수가 온당.
배열관련 메소드도 아주 많이 사용되는 데, 그 중에
map, filter, reduce, sort등은 절대적으로 필요하당.
더불어 callback(콜백)함수에 대한 이해도 꼭 필요하당.
위 배열 메소드들은 모두 callback함수를 매개변수로 사용한당.
2023.06.09 - [자바스크립트] - 시베리안 허숙희의 자바스크립트 비기닝 12 (콜백함수 callback)
2023.06.15 - [자바스크립트] - 시베리안 허숙희의 자바스크립트 비기닝 20 (prototype 프로토타입)
글을 꼬옥 읽고, 확인하고 오장!(100% 이해는 아니어도, 감은 잡고 와야 한당)
분명 읽지 않았거낭, 몰겠어용 라는 그들이 이쓸거시당.
index.html이 있는 위치(폴더)에 아래 파일을 맹글공, 소스를 차분히 읽어내리장!
mapCheck.html
<!DOCTYPE html> <meta charset="UTF-8" /> <h1>console창을 확인하삼</h1> <script> // function 키워드를 class의 의미로 사용 // 자바스크립트 표현으로는 생성자 함수로 사용되었다는 뜻 const MyArray = function () { this.length = 0; return this; }; // push 메소드 억지 필요로 구현 MyArray.prototype.push = function (pElem) { this[this.length] = pElem; this.length++; return this; // 요거이 있으면 멧소드 체인닝 }; // 관심 대상 map 메소드 구현 MyArray.prototype.map = function (pCallback) { for (let i = 0; i < this.length; i++) { this[i] = pCallback(this[i], i); } return this; // 메소드 체인닝 }; const wordArr = new MyArray(); wordArr.push("선거").push("선발").push("선수").push("선주"); // 개별 배열요소 값 조작시 사용 wordArr.map(function (word, index) { if (!index) return `${index}번쨍 ${word}`; return `E7E ${word}`; }); console.log("체킁: ", wordArr); </script>
현재 브라우져 주소는 http://localhost:5173 인데
http://localhost:5173/mapCheck.html 로 바꾸어 아래와 같은 결과를 확인하장!
map 메소드는 정말 널브러지게 쓰닝... 결국은 이해도가 상승할꺼당.
React는 자바스크립트로 이루어져 있기 때문에,
위 내용에 대해 전혀 감이 없다면 개인적인 생각은 더 진행 될리가 없당.!(감 1개라도...)
[ 화이팅 하장!~~, 조금 감을 잡고 계속 쓰면 손에 결국 붙는당! ]
MyComponent.jsx 를 아래처럼 고치공 다시 한번 결과 영상을 체킁하장!
function MyComponent() { const myFriends = [ { fid: "f001", name: "미누", age: 45, feature: "왜 미누?" }, { fid: "f002", name: "카리나", age: 24, feature: "로켓 펀치" }, { fid: "f003", name: "경민", age: 24, feature: "삼쏘에 노래" }, { fid: "f004", name: "선주", age: 29, feature: "이미티콘" }, ]; const myEnemies = []; return ( <div style={{ border: "5px groove gold" }}> {!myEnemies.length && <h1>아직 적은 안 나타남</h1>} {/* if(){} */ /* JSX 안에서 if문은 안되서 미안해요 */} {myFriends.length && myFriends.map((friend) => friend.name == "경민" ? ( <h3 key={friend.fid} style={{ backgroundColor: "green", color: "pink" }} > {friend.name}이는 {friend.age}살 {friend.feature} </h3> ) : ( <h3 key={friend.fid}> {friend.name}는 {friend.age}살 {friend.feature} </h3> ) )} </div> ); } export default MyComponent;
http://localhost:5173 결과 화면은 아래와 비스무리 할거시당.
뽀인또를 알면 소스 의도가 보인당.
JSX안에 if문을 쓸 수 없다는 거시당.
그리하여 조건? 참일때 실행문: 거짓일때실행문 형식의 삼항연산자를 썼당.
소스를 다시 보장. 의미가 의미심장하게 심장에 의미를 남긴당.
[ if(){} 양쪽의 주석 /* */ 을 풀면 빨간 밑줄이 사용할 수 없음을 알려준당. ]
다음 글은 언제? 왜? 주제는? 궁금하당.. 나동... 또 볼 수 있을깡?
엄마는 오데 가썽?
아마 곗돈 타러 가셨을 껄!~~
엄마도 에스파 좋아행?~~
몰랑~~! 부엌에 과일 깍는 칼있나 찾아봥!
지금 TV에 카리나 나왔는뎅~~
뎅! 데엥! 뎅뎅뎅........(침묵.....)
https://www.youtube.com/watch?v=nFYwcndNuOY
React(리액트) 티키타카 9 ( Props 구조 분해 ) (1) | 2024.10.03 |
---|---|
React(리액트) 티키타카 8 ( Props 이해 사용 ) (4) | 2024.10.02 |
React(리액트) 티키타카 6 (JSX) (2) | 2024.09.30 |
React(리액트) 티키타카 5 (개발 폴더 파일 구조) (0) | 2024.09.30 |
React(리액트) 티키타카 4 ( Node 웹서버) (2) | 2024.09.26 |