[ReactNative] Component

MaryΒ·2024λ…„ 4μ›” 29일

ReactNative

λͺ©λ‘ 보기
2/14
post-thumbnail

πŸ“’ μ»΄ν¬λ„ŒνŠΈ

μ»΄ν¬λ„ŒνŠΈλž€ μ†Œν”„νŠΈμ›¨μ–΄ μ‹œμŠ€ν…œμ—μ„œ 독립적인 κΈ°λŠ₯을 μˆ˜ν–‰ν•˜λŠ” λͺ¨λ“ˆλ‘œμ¨ ꡐ체가 κ°€λŠ₯ν•œ λΆ€ν’ˆ

πŸ“’ μ»€μŠ€ν…€ μ»΄ν¬λ„ŒνŠΈ

πŸ”˜ 직접 λ§Œλ“€μ–΄λ„ 되고 λ‹€μ–‘ν•œ μ»΄ν¬λ„ŒνŠΈ 라이브러리 μ‚¬μš© κ°€λŠ₯

πŸ”˜ NativeBase => λ‹€μ–‘ν•œ μ»΄ν¬λ„ŒνŠΈ λΌμ΄λΈŒλŸ¬λ¦¬κ°€ μžˆλŠ” μ‚¬μ΄νŠΈ

πŸ“Œ μ»΄ν¬λ„ŒνŠΈ μ„ μ–Έ 방식

1. 클래슀 μ»΄ν¬λ„ŒνŠΈ

import React, { Component } from 'react';

class App extends Component {
	render() {
    	const text = "Hello World"
        return <div className='react'>{text}</div>
      
    }
}


export default App;

πŸ“ classν‚€μ›Œλ“œ ν•„μš”

πŸ“ μ»΄ν¬λ„ŒνŠΈλ‘œ 상속을 λ°›μ•„μ•Ό 함
App extends Component

πŸ“render()λ©”μ†Œλ“œκ°€ λ°˜λ“œμ‹œ μžˆμ–΄μ•Ό 함

2. ν•¨μˆ˜ μ»΄ν¬λ„ŒνŠΈ

import React from 'react';

const App = () => {
	const text = "Hello World"
    return <div className='react'>{text}</div>
  
  
}

export default App;

πŸ“’ state μ‚¬μš© 차이

state: μ»΄ν¬λ„ŒνŠΈ λ‚΄λΆ€μ—μ„œ λ°”λ€” 수 μžˆλŠ” κ°’

βœ”οΈ ν΄λž˜μŠ€ν˜•


πŸ”˜ constructor μ•ˆμ—μ„œ this.state 초기 κ°’ μ„€μ • κ°€λŠ₯

πŸ”˜ constructor 없이도 λ°”λ‘œ state 초기 κ°’ μ„€μ • κ°€λŠ₯

πŸ”˜this.setState ν•¨μˆ˜λ‘œ state의 κ°’ λ³€κ²½ κ°€λŠ₯

<onClick={()=>{
	this.setState({number: number+1});	
	}}

βœ”οΈ ν•¨μˆ˜ν˜•

useStateν•¨μˆ˜λ‘œ state μ‚¬μš©
useStateν•¨μˆ˜λ₯Ό ν˜ΈμΆœν•˜λ©΄ 배열이 λ°˜ν™˜λ˜λŠ”λ°
첫번째 μ›μ†ŒλŠ” ν˜„μž¬ μƒνƒœ
λ‘λ²ˆμ§Έ μ›μ†ŒλŠ” μƒνƒœλ₯Ό λ°”κΎΈμ–΄ μ£ΌλŠ” ν•¨μˆ˜

const [message, setMessage] = useState('');

πŸ“’ props μ‚¬μš©μ°¨μ΄

props

πŸ”˜ μ»΄ν¬λ„ŒνŠΈμ˜ 속성을 μ„€μ • ν•  λ•Œ μ‚¬μš©ν•˜λŠ” μš”μ†Œ

πŸ”˜ 읽기 μ „μš©

πŸ”˜ μ»΄ν¬λ„ŒνŠΈ 자체 propsλ₯Ό μˆ˜μ •ν•΄μ„œλŠ” μ•ˆλ¨

πŸ”˜ λͺ¨λ“  React μ»΄ν¬λ„ŒνŠΈλŠ” μžμ‹ μ˜ propsλ₯Ό λ‹€λ£° λ•Œ λ°˜λ“œμ‹œ 순수 ν•¨μˆ˜μ²˜λŸΌ λ™μž‘ν•΄μ•Ό 함

πŸ”˜ μˆ˜μ •λ˜λŠ” 것은 state

βœ”οΈ 클래슀 μ»΄ν¬λ„ŒνŠΈμ˜ props

πŸ”˜ this.propsλ₯Ό μ‚¬μš©ν•΄ 값을 뢈러옴

class MyComponent extends Component {
	render(){
    
    
    
    
    }
  
  
}

πŸ”˜ λΆ€λͺ¨ 객체의 ν‚€ κ°’, μžμ‹ props ν™œμš©

βœ”οΈ ν•¨μˆ˜ μ»΄ν¬λ„ŒνŠΈμ˜ props

πŸ”˜ propsλ₯Ό 뢈러올 ν•„μš” 없이 λ°”λ‘œ 호좜 ν•  수 μžˆλ‹€.

const MyComponent = ({ name, children }) => {
	return(
    	<div>
      		μ•ˆλ…•ν•˜μ„Έμš” 제 이름은 {name}μž…λ‹ˆλ‹€. <br />
      		children 값은 {children}μž…λ‹ˆλ‹€.
        <div/>
    
    );

}; 

πŸ“’ Life cycle

λ‚˜μ€‘μ— λ”°λ‘œ λ‹€λ£Έ


참고자료

0개의 λŒ“κΈ€