Framework/React Framework

(23.01.25)React ํ”„๋ ˆ์ž„์›Œํฌ : ๋ฆฌ์•กํŠธ ๋ฐฐ์—ด ๋‹ค๋ฃจ๊ธฐ

ํ”„๋กœ๊ทธ๋ž˜๋จธ ์˜ค์›” 2023. 1. 25.

๋ฆฌ์•กํŠธ ๋ฐฐ์—ด ๋‹ค๋ฃจ๊ธฐ



Component ์„ ์–ธ, ์žฌ์‚ฌ์šฉ
์‹œ์Šคํ…œ ์†Œํ”„ํŠธ์›จ์–ด - ์šด์˜์ฒด์ œ๋ฅผ ๋งŒ๋“ค๊ฑฐ๋‚˜ ํ•˜๋Š”....
SPA(Single Page Application) - ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์„ ๋งŒ๋“ค๊ฑฐ๋‚˜ ํ•˜๋Š”....(๋ฆฌ์•กํŠธ๋Š” ์—ฌ๊ธฐ์— ํ•ด๋‹น)
๋น ๋ฅธ ํŠน์ง•์ด ์žˆ๋‹ค.
๋ฐ์ดํ„ฐ ๋น„์šฉ ์ ˆ๊ฐ
ํด๋ฆญํ•˜๋ฉด ์„œ๋ฒ„์— ๋Œ€ํ•œ ์š”์ฒญ์ด ์•„๋‹ˆ๋ผ ์ปดํฌ๋„ŒํŠธ๋งŒ ๋ฐ”๋€Œ๊ฒŒ๋”
์„œ๋ฒ„์ธก ๋ฐ์ดํ„ฐ๋ฅผ ์šฉ์ฒญํ•  ๋•Œ๋Š” ajax ์‚ฌ์šฉ



๋ฐฐ์—ด ๋‹ค๋ฃจ๊ธฐ
-๋กœ์ปฌ์— ์„ ์–ธ๋œ ๋ฐฐ์—ด
-back end ์—์„œ ์ „๋‹ฌํ•œ ๋ฐฐ์—ด (๋ฆฌ์ŠคํŠธ)

1
2
3
4
5
list.map(f); *f๋Š” list ์˜ ์›์†Œ ๊ฐ๊ฐ์„ ๋ฐ›์•„์„œ ๊ฐ€๊ณตํ•˜๊ณ  ๋‹ค์‹œ ๋ฐฐ์—ด๋กœ ๋ฆฌํ„ด
   (v) => <div>{v}</div>
 
list.map( (v) => <div>{v}</div> )
 
cs

-list.map(f); /* f๋Š” list์˜ ์›์†Œ ๊ฐ๊ฐ์„ ๋ฐ›์•„์„œ ๊ฐ€๊ณตํ•˜๊ณ  ๋‹ค์‹œ ๋ฐฐ์—ด๋กœ ๋ฆฌํ„ด

 



App.js

 

1
2
3
4
5
6
7
8
9
10
11
import Input from './comp/Input.js'
import ShowArr from './comp/ShowArr.js'
function App(){
  return(
  <div className='App'>
    <Input/>
    <ShowArr/>
  </div>
  );
}
export default App;
cs




Input.js

1
2
3
4
5
6
7
8
9
10
11
12
13
function Input(){ //jsx = javascript +xml
    function onChange(evt){
        let val = evt.target.value;
        console.log("์ž…๋ ฅ๋œ ๊ฐ’"+ val);
    }
    return(
        //์ปดํฌ๋„ŒํŠธ๊ฐ€ ํ™”๋ฉด์— ๋ณด์—ฌ์ค„ ๋‚ด์šฉ(html ํ™•์žฅ xml, attributes)
        <input type={"text"} value="" onChange={onChange}></input>
    );
 
}
 
export default Input;
cs




ShowArr.js

1
2
3
4
5
6
7
8
function ShowArr(){
    const title = "๋ฐฐ์—ด ๋‹ค๋ฃจ๊ธฐ";
    const names =["Smith","Jone","Ward"];
    return(
        names.map(name => <div key={name}>{name}</div>)
    );
}
export default ShowArr;
cs

 

 

 

1
2
3
4
5
 return(
        names.map( nm => {
          return (<div key={nm}>{nm}</div>)
        })
    )
cs

๋ฌธ์žฅ์ด ๋‹ค์ค‘๋ฌธ์žฅ์ผ ๊ฒฝ์šฐ {}์‚ฌ์šฉํ•œ๋‹ค. ๊ทธ ์•ˆ์—์„œ ํ•œ ๋ฌธ์žฅ์ด return์ด ๋˜์•ผํ•œ๋‹ค.

 

 

 



์‹คํ–‰๊ฒฐ๊ณผ :



 

๋Œ“๊ธ€