react

목표 Array 형식의 state의 원소를 추가 및 삭제해본다. Array state 추가 삭제 문법 let [글제목,글제목변경] = useState(['나_Hi','다_안녕하세요','가_채로입니다']); let [따봉, 따봉변경] = useState([0,0,0]); let [inputVal,setInputVal] =useState(''); 위와 같이 정의된 state들을 함수들을 통해 변형해보자 1. Array state 추가 - unshift {setInputVal(e.target.value);}}/> { let copy=[...글제목]; copy.unshift(inputVal) 글제목변경(copy); let addLike = [...따봉]; addLike.unshift(0) 따봉변경(addLike..
목표 위 사진에서 보이는 목록에서 제목을 클릭하면, 그와 관련된 정보를 띄우는 모달이 하단에 출력되도록 하겠다. 현재는 목록의 어떤 제목을 클릭해도 아래와 같이 첫번째 제목인 '나_Hi'만 출력되는상태이다. 코드 작성 순서 1. state 생성 let [indexNum,setIndexNum] =useState(0); 동적 UI 변동을 줘야하므로 state를 사용한다. 2. state 상태 함수를 이용하여 indexNum state 값 변경 { //a는 하나씩, i는 0부터 반복될때마다 1씩 증가하는 수 글제목.map(function(a,i){ return( {setModal(!modal); setIndexNum(i)}}>{a} { let copy=[...따봉] copy[i]=따봉[i]+1 따봉변경(cop..
목표 부모 컴포넌트가 자식 컴포넌트를 호출할 때, 자식 컴포넌트는 부모 컴포넌트에서 정의된 state 사용이 필요할 수 있다. 이 때 props 파라미터를 이용하여 부모 state를 가져와 보자. 부모->자식 state 전송 1. 자식 컴포넌트 호출 시, 호출 태그 내부에 전송할 state 작성 let [글제목,글제목변경] = useState(['나_Hi','다_안녕하세요','가_채로입니다']); { modal==true?:null } 위 코드는 부모 컴포넌트가 Modal이라는 컴포넌트를 호출하고 있는 것이다. 글제목이라는 state를 글제목이라는 이름으로 자식 컴포넌트에 전송하고 있다. 또한 color와 같이 state는 아니지만, 이와 같은 방식으로 자식 컴포넌트에 문자열이나 함수, 수등을 전송할 수..
동일하게 여러번 쓰이는 Modal들을 내가 원하는 횟수만큼 반복시키고 싶다. 특히 배열로 받은 데이터들에 대응하는 수만큼 모달을 만들어 출력하고 싶다. 이를 해결해주는 map 함수의 사용법을 알아보자 map 함수 사용법 let [글제목,글제목변경] = useState(['나_Hi','다_안녕하세요','가_채로입니다']); [0,1,2].map(function(a){ return( {글제목[a]} ) }) function 파라미터인 a는 앞의 배열에 속하는 원소 하나 하나를 차례대로 받아온다. 따라서 글제목[0], 글제목[1], 글제목[2]가 차례로 출력된다. 다음은 [0,1,2]라는 직접 입력한 배열 대신, 배열 형식의 state를 map 앞에 쓸 때의 예시이다. 글제목.map(function(a,i){..
기존 자바스크립트 방식과 달리 리액트에서는 데이터의 변동이 프론트 단에서 서버와의 통신 없이도 즉각적인 리빌딩 가능하다. 리액트에서 UI 만드는 단계 1. html css로 미리 디자인 완성 1) html function Modal(){ return ( 제목 날짜 상세내용 ) } 2) css .modal{ margin-top:20px; padding:20px; background:#eee; text-align:left; } 2. UI의 현재 상태를 state로 저장 let [modal,setModal] =useState(false); 3. state에 따라 UI 조작 {setModal(!modal)}}>{글제목[2]} 2월 17일 발행 { modal==true?:null } onClick 속성이 작성된 ..
위와 같은 모달을 페이지에 작성하고 싶다. 그런데 해당 모달은 한 페이지에서 많게는 수십개가 쓰일 수도 있다. 이런 경우 하나 하나 모두 코드로 작성하기에는 부담되기도 하고, 양이 많아질 수록 어떤 코드가 어떤 모달을 가리키는지 판단하기가 어려워진다. 이런 문제를 좀 더 간편히 하기위해 나온 것이 Component다. Component 선언 function Modal(){ return ( 제목 날짜 상세내용 ) } export default Modal; let Modal = () => { return( 제목 날짜 상세내용 ) } export default Modal; 둘 중 어떤 것을 작성해도 똑같이 작동한다. 단, return 안의 문장은 하나의 로 묶여있어야 한다. 최외곽의 안에 다른 나 태그들이 병..
좋아요 버튼 & 갯수 UI 만들기 let [따봉, 따봉변경] = useState(0); state 변수를 위와 같이 정의했을 경우 {글제목[0]} {따봉변경(따봉+1)}}>👍{따봉} 위 태그에 대응되는 출력물을 클릭하면 받은 '따봉'의 갯수를 1씩 증가되도록 작성했다. onClick 속성을 사용하여 함수를 호출시켜야 하는데 ()=>{} 에서 중괄호 안에 함수이름을 작성한다. 함수 이름은 '따봉'의 state 변경용 함수인 '따봉변경'을 사용해야만 한다. array/object state 사용 방법 1) state 변수 선언 let [글제목,글제목변경] = useState(['Hi','안녕하세요','채로입니다']); 2) onClick을 통한 state 변경 함수 작성 및 버튼 생성 {글제목변경(['Hi2..
· State를 사용하는 이유 기존 html에서는 정적 변수를 선언할 떄 var, const, let 을 사용했다. 하지만 위 자료형들로 선언된 변수들은 값이 변해도 실시간으로 html에 적용되지 않았는데 state를 사용하면 변한 값들이 html에 실시간으로 재랜더링이 되어 적용되기 때문에 부드러운 UI 구축이 가능해진다. 1. fuction App() 함수 위에 userState를 import import logo from './logo.svg'; import './App.css'; import { useState } from 'react'; function App() { ... } export default App; 2. function App() 메소드 내부에 upState() 선언 let [st..
JSX 문법1. class 넣을 땐 className 기존 html에서는 태그 내에 class 라는 속성을 사용했었는데, JSX에서는 className이라고 속성을 사용한다. JSX 문법2. 변수 넣을땐 {중괄호} 서버에서 또는 js파일 내부에서 변수를 끌어다 쓸 때는 {중괄호}를 사용한다. JSX 문법3. style 넣을 땐 무조껀 style={{스타일명:'값'}} 기존 html과 달리 JSX에서는 중괄호 내에 스타일 속성들을 입력해야한다. 또한 오브젝트 형식으로서, style 중괄호 안에 다른 중괄호를 다시 작성해줘야한다. 에러 검사하는 방법 1. Visual Code 에서의 터미널 확인 2. 브라우저에 출력된 페이지에서 '개발자도구(F12) -> Console' 들어가서 에러메시지 확인 출처 : 코..
개발 환경 세팅 1. Node JS 설치 LTS 버전으로 설치한다. 2. Visual Code 설치 3. React 전용 폴더 생성 1) 원하는 경로에 프로젝트 폴더 생성 후 Shift+우클릭 -> '여기에 PowerShell 창 열기' 2) npm으로 리액트 설치 npm add create-react-app 3) npx 커맨드를 이용해 React 전용 폴더 생성 npx create-react-app (생성할 React 전용 폴더의 이름) npm 명령어에 대해 더 잘 알고싶다면 아래 링크 참조 https://create-react-app.dev/docs/getting-started Getting Started | Create React App Create React App is an officially ..
째로스
'react' 태그의 글 목록 (3 Page)