| μΌ | μ | ν | μ | λͺ© | κΈ | ν |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 | 31 |
- Java
- Node.js
- docker
- javaμ±ν
- dockerhub
- injection곡격
- λμμΈν¨ν΄
- μ½λ©ν μ€νΈ
- @scheduler
- React
- node.js mysql μ°λ
- μκ³ λ¦¬μ¦
- μΏ λ²λ€ν°μ€
- μλ°
- oauth
- dbμ λ΅
- λ ΌλΈλ‘νΉ
- μ½ν
- dbμν€ν μ³
- CICD
- spring scheduler
- MySQL
- ν°μ€ν 리μ±λ¦°μ§
- SpringBoot
- spring
- μ€λΈμ
- GoogleLogin
- Jenkins
- Personal Access Token
- ν¬λ‘μ€μ¬μ΄νΈ μ€ν¬λ¦½νΈ
- Today
- Total
<Hello Hosungπ/>
[React, RN] ν¨μ¨μ μΈ λ λλ§κ³Ό λΉ λ₯Έ λ‘λ©μ μν μ λ΅ λ³Έλ¬Έ
[React, RN] ν¨μ¨μ μΈ λ λλ§κ³Ό λΉ λ₯Έ λ‘λ©μ μν μ λ΅
μ’μΆ©μ°λ λ°±μλ κ°λ°μ μΌκΈ°π§ 2024. 11. 25. 14:511. 리μ‘νΈ μ±λ₯ μ΅μ νκ° μ€μν μ΄μ
리μ‘νΈλ‘ λ§λ μΉ μ ν리μΌμ΄μ μ΄ ν¬κ³ 볡μ‘ν΄μ§μλ‘ λ λλ§ μ±λ₯μ΄ μ€μν΄μ§λλ€. νμ΄μ§κ° λλ¦¬κ² λ‘λ©λκ±°λ λΆνμν μ»΄ν¬λνΈκ° κ³μ 리λ λλ§λλ κ²½μ°, μ¬μ©μ κ²½ν(UX)μ΄ ν¬κ² μ νλ μ μμ΅λλ€. μ±λ₯ μ΅μ νλ μ΄λ¬ν λ¬Έμ λ₯Ό ν΄κ²°νκ³ μ ν리μΌμ΄μ μ λ°μ μλλ₯Ό λμ¬μ€λλ€.
2. λΆνμν λ λλ§ λ°©μ§
리μ‘νΈλ μν(state)λ μμ±(props)μ΄ λ³κ²½λ λλ§λ€ μ»΄ν¬λνΈλ₯Ό 리λ λλ§ν©λλ€. νμ§λ§ λͺ¨λ 리λ λλ§μ΄ νμν κ²μ μλλλ€. λΆνμν 리λ λλ§μ λ°©μ§νλ λͺ κ°μ§ λ°©λ²μ μ΄ν΄λ³΄κ² μ΅λλ€.
- React.memo: ν¨μν μ»΄ν¬λνΈμμ propsκ° λ³κ²½λμ§ μμΌλ©΄ 리λ λλ§μ λ§μ μ μμ΅λλ€.
const MyComponent = React.memo(({ data }) => {
return <div>{data}</div>;
});
React.memoλ shouldComponentUpdateμ μ μ¬νκ² λμν©λλ€.
- PureComponent: ν΄λμ€ν μ»΄ν¬λνΈμμ μνλ propsκ° λ³κ²½λμ§ μμΌλ©΄ 리λ λλ§μ λ°©μ§νλ λ°©λ²μ λλ€.
class MyComponent extends React.PureComponent {
render() {
return <div>{this.props.data}</div>;
}
}
3. μν κ΄λ¦¬ μ΅μ ν
μν κ΄λ¦¬κ° μλͺ»λλ©΄ λΆνμν λ λλ§μ μ λ°ν μ μμ΅λλ€. μν μ λ°μ΄νΈλ₯Ό μ΅μννλ κ²μ΄ μ€μν©λλ€.
- μν μ λ°μ΄νΈ μ΅μν: λΆνμν μν λ³κ²½μ μ€μ΄κ³ , μνλ νμν μ»΄ν¬λνΈμλ§ μ λ¬ν΄μΌ ν©λλ€.
- λ°°μΉ μ λ°μ΄νΈ: μ¬λ¬ κ°μ μν λ³κ²½μ νλμ λ°°μΉλ‘ λ¬Άμ΄ λ λλ§μ μ΅μνν μ μμ΅λλ€. 리μ‘νΈλ μ¬λ¬ μν λ³κ²½μ ν λ²μ μ²λ¦¬ν©λλ€.
4. μ½λ μ€ν리ν κ³Ό μ§μ° λ‘λ©
μ΄κΈ° λ‘λ© μκ°μ΄ κΈ΄ μ ν리μΌμ΄μ μ μ¬μ©μ κ²½νμ λμ μν₯μ λ―ΈμΉ©λλ€. μ½λ μ€ν리ν μ ν΅ν΄ νμν λΆλΆλ§ λ‘λνλ©΄ μ΄κΈ° λ‘λ©μ μ΅μ νν μ μμ΅λλ€.
- React.lazyμ Suspense: μ»΄ν¬λνΈλ₯Ό μ²μ νμν μκ°μλ§ λΆλ¬μ€λ λ°©λ²μ λλ€. μ΄λ κ² νλ©΄ μ΄κΈ° λ‘λ© μκ°μ μ€μΌ μ μμ΅λλ€.
const MyComponent = React.lazy(() => import('./MyComponent'));
function App() {
return (
<Suspense fallback={<div>Loading...</div>}>
<MyComponent />
</Suspense>
);
}
5. 리μ€νΈ λ λλ§ μ΅μ ν
리μ€νΈλ₯Ό λ λλ§ν λ μ±λ₯μ μ΅μ ννλ €λ©΄ νλ©΄μ 보μ΄λ νλͺ©λ§ λ λλ§νλ κ²μ΄ μ€μν©λλ€.
- react-window λλ react-virtualized: κΈ΄ 리μ€νΈλ₯Ό ν¨μ¨μ μΌλ‘ λ λλ§ν μ μκ² λμμ£Όλ λΌμ΄λΈλ¬λ¦¬μ λλ€. νλ©΄μ 보μ΄λ νλͺ©λ§ λ λλ§νκ³ , λλ¨Έμ§λ μ€ν¬λ‘€λ λ λ‘λν©λλ€.
6. useMemoμ useCallback νμ©νκΈ°
- useMemo: 볡μ‘ν κ³μ°μ΄ νμν κ°μ λ©λͺ¨μ΄μ μ΄μ νμ¬ λΆνμν κ³μ°μ λ°©μ§ν©λλ€.
const memoizedValue = useMemo(() => expensiveComputation(value), [value]);
- useCallback: ν¨μλ₯Ό λ©λͺ¨μ΄μ μ΄μ νμ¬, λμΌν ν¨μκ° λ§€λ² μμ±λμ§ μλλ‘ μ΅μ νν©λλ€.
const memoizedCallback = useCallback(() => { doSomething() }, [dependencies]);
7. μ±λ₯ λΆμ λꡬ νμ©
리μ‘νΈ μ±λ₯μ λΆμνλ €λ©΄ React DevToolsμ Profiler νμ νμ©ν μ μμ΅λλ€. μ΄λ₯Ό ν΅ν΄ κ° μ»΄ν¬λνΈμ λ λλ§ μκ°κ³Ό 리λ λλ§ λΉλλ₯Ό νμΈνκ³ , μ±λ₯μ΄ μ νλλ λΆλΆμ μ°Ύμ μ΅μ νν μ μμ΅λλ€.
8. μλ² μ¬μ΄λ λ λλ§(SSR)κ³Ό μ μ μ¬μ΄νΈ μμ±(SSG)
μλ² μ¬μ΄λ λ λλ§κ³Ό μ μ μ¬μ΄νΈ μμ±μ ν΅ν΄ μ΄κΈ° λ‘λ© μκ°μ κ°μ ν μ μμ΅λλ€. Next.jsμ κ°μ νλ μμν¬μμλ SSRκ³Ό SSGλ₯Ό μ½κ² ꡬνν μ μμ΅λλ€.
- SSR(μλ² μ¬μ΄λ λ λλ§): μλ²μμ νμ΄μ§λ₯Ό λ λλ§νμ¬ μ΄κΈ° λ‘λ©μ λΉ λ₯΄κ² ν μ μμ΅λλ€.
- SSG(μ μ μ¬μ΄νΈ μμ±): λΉλ μ 미리 λ λλ§λ HTML νμΌμ μ 곡νμ¬ λ‘λ© μκ°μ λ¨μΆν©λλ€.
9. λ§λ¬΄λ¦¬
리μ‘νΈ μ±λ₯ μ΅μ νλ μ¬λ¬ κ°μ§ λ°©λ²μ ν΅ν΄ μ ν리μΌμ΄μ μ λμ± ν¨μ¨μ μΌλ‘ λ§λ€ μ μμ΅λλ€. λΆνμν λ λλ§μ λ°©μ§νκ³ , μ½λ μ€ν리ν κ³Ό μ§μ° λ‘λ©μ μ¬μ©νμ¬ μ΄κΈ° λ‘λ© μκ°μ κ°μ νλ©°, μν κ΄λ¦¬μ 리μ€νΈ λ λλ§μ μ΅μ ννλ κ²μ΄ μ€μν©λλ€. μ±λ₯ λΆμ λꡬλ₯Ό νμ©νμ¬ λ¬Έμ λ₯Ό μ°Ύκ³ ν΄κ²°νλ κ³Όμ λ λΉΌλμ μ μμ΅λλ€. μ΄ λ°©λ²λ€μ μ μ©νλ©΄ 리μ‘νΈ μ ν리μΌμ΄μ μ μ±λ₯μ ν¬κ² ν₯μμν¬ μ μμ΅λλ€.
'π± JavaScript > γ €React, RN' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
| [Expo + React Native] 1. νλ‘μ νΈ μ΄κΈ° ꡬ쑰 μλ²½ μ΄ν΄ (0) | 2025.11.30 |
|---|---|
| [React, RN] 리μ‘νΈ λΌμ°ν° μμ μ 볡 (1) | 2024.11.24 |
| [React, RN] 리μ‘νΈ ν (React Hooks) μκ°π (0) | 2024.11.22 |
| [React, RN] 리μ‘νΈ μμνκΈ°π (0) | 2024.11.21 |