WEB

[Redux] λ¦¬λ•μŠ€ λ―Έλ“€μ›¨μ–΄λž€?

NakyungIm 2021. 1. 5. 14:55

https://ko.redux.js.org/

 

 

 

 

 

λ¦¬λ•μŠ€ λ―Έλ“€μ›¨μ–΄μ˜ λ™μž‘ 흐름

λ¦¬λ•μŠ€ λ―Έλ“€μ›¨μ–΄μ˜ λ™μž‘ 흐름

 

 

 

 

λ¦¬λ•μŠ€ 미듀웨어λ₯Ό μ™œ μ¨μ•Όν•˜λ‚˜?

기쑴의 λ¦¬λ•μŠ€

μ•‘μ…˜ λ°œμƒ -> λ””μŠ€νŒ¨μΉ˜λ₯Ό 톡해 μŠ€ν† μ–΄μ—κ²Œ μƒνƒœλ³€ν™” ν•„μš”μ„± μ•Œλ¦Ό

              ⬇

이 사이에 μ²˜λ¦¬ν•˜κ³  싢은 μž‘μ—…μ΄ μžˆλ‹€λ©΄?

ex) μ–΄λ–€ μ•‘μ…˜μ΄ λ°œμƒν–ˆλŠ”μ§€ 둜그 남기기, μ•‘μ…˜ μ·¨μ†Œ, 또 λ‹€λ₯Έ μ•‘μ…˜ λ°œμƒ λ“±

 

 

λ¦¬λ•μŠ€ : 동기적인 흐름을 톡해 λ™μž‘

동기적 νλ¦„μ΄λž€?

μ•‘μ…˜ 객체 생성, λ””μŠ€νŒ¨μΉ˜κ°€ μ•‘μ…˜ λ°œμƒμ„ μŠ€ν† μ–΄μ—κ²Œ μ•Œλ¦Ό, λ¦¬λ“€μ„œλŠ” μ •ν•΄μ§„ λ‘œμ§μ— μ˜ν•΄ μ•‘μ…˜μ„ μ²˜λ¦¬ν•œ ν›„ μƒˆλ‘œμš΄ μƒνƒœκ°’ λ°˜ν™˜ν•˜λŠ” κ³Όμ •

 

ν•˜μ§€λ§Œ, 동기적 νλ¦„λ§ŒμœΌλ‘œ μ²˜λ¦¬ν•˜κΈ° νž˜λ“  μž‘μ—…μ΄ μžˆλ‹€

ex) μ‹œκ°„ λ”œλ ˆμ΄μ‹œμΌœ λ™μž‘ν•˜κ²Œ ν•˜κΈ°, μ™ΈλΆ€ 데이터 μš”μ²­ν•˜μ—¬ 그에 λ”°λ₯Έ 응닡을 화면에 보여주기 λ“±

 

이런 μž‘μ—…λ“€μ€ μ–΄λ–»κ²Œ ν•΄μ•Όν•˜λ‚˜?

λ¦¬λ•μŠ€ 미듀웨어 μ‚¬μš©!

 

 

 

 

λŒ€ν‘œμ μΈ λ¦¬λ•μŠ€ λ―Έλ“€μ›¨μ–΄λŠ” 무엇?

직접 λ§Œλ“€μ–΄μ„œ μ›ν•˜λŠ” μž‘μ—…μ„ μ²˜λ¦¬ν•  μˆ˜λ„ μžˆμ§€λ§Œ, 이미 λ§Œλ“€μ–΄μ§„ 미듀웨어λ₯Ό μ‚¬μš©ν•˜κ³€ ν•œλ‹€.

  • redux-logger : μ–΄λ–€ μ•‘μ…˜μ΄ λ°œμƒν–ˆλŠ”μ§€ 둜그λ₯Ό λ‚¨κ²¨μ€Œ
  • redux-thunk : 비동기 μž‘μ—…μ„ μ²˜λ¦¬ν•  수 있게 ν•΄μ€Œ
  • redux-saga : μœ„μ™€ 동일

 

 

 

 

redux-thunk

  • λ¦¬λ•μŠ€ 미듀웨어
  • 비동기 μž‘μ—…μ„ μ²˜λ¦¬ν•˜λŠ”λ° μ‚¬μš©ν•˜λŠ” 미듀웨어 쀑 κ°€μž₯ λŒ€ν‘œμ 

thunk

주둜 μ—°μ‚° κ²°κ³Όκ°€ ν•„μš”ν•  λ•ŒκΉŒμ§€ 연산을 μ§€μ—°μ‹œν‚€λŠ” μš©λ„λ‘œ μ‚¬μš©λ˜κ±°λ‚˜..

좜처 : μœ„ν‚€λ°±κ³Ό-썽크

 

 

μ—°μ‚° μ§€μ—°μ‹œν‚€λŠ” 방법은?

ex) console.log(1+2); λ₯Ό μ§€μ—°μ‹œν‚€λŠ” 방법은?

const foo = () => {
	console.log(1+2);
}

 

 

 

 

redux-thunkκ°€ thunk의 κ°œλ…μ„ μ μš©ν•˜λŠ” 방법은?

κΈ°μ‘΄ λ¦¬λ•μŠ€μ—μ„œ μ•‘μ…˜ 생성 ν•¨μˆ˜ : μ•‘μ…˜μ„ 객체 ν˜•νƒœλ‘œ λ°˜ν™˜

λ¦¬λ•μŠ€ μ½ν¬μ—μ„œ μ•‘μ…˜ 생성 ν•¨μˆ˜ : μ•‘μ…˜μ„ 객체가 μ•„λ‹Œ ν•¨μˆ˜ ν˜•νƒœλ‘œ λ°˜ν™˜

-> ν•„μš”ν•  λ•Œ ν•¨μˆ˜λ₯Ό ν˜ΈμΆœν•˜λŠ” 썽크 ν˜•νƒœ!

 

 

 

 

참고자료

velog.io/@youthfulhps/λ¦¬λ•μŠ€-λ―Έλ“€μ›¨μ–΄λŠ”-무엇인가

 

λ¦¬λ•μŠ€ λ―Έλ“€μ›¨μ–΄λŠ” 무엇인가? (1)

πŸ”§ λ¦¬λ•μŠ€ 미듀웨어 λ¦¬λ•μŠ€λŠ” 무엇이고, μ™œ μ‚¬μš©ν•˜λŠ”κ°€? μ—μ„œ μΈμš©ν–ˆλ“―μ΄ λ¦¬λ•μŠ€λŠ” μ•„λž˜μ™€ 같은 νλ¦„μœΌλ‘œ λ™μž‘ν•©λ‹ˆλ‹€. κ·Έλ ‡λ‹€λ©΄, λ¦¬λ•μŠ€ 미듀웨어가 μ–΄λ–»κ²Œ λ™μž‘ν•˜λŠ” μ§€ 아직은 λͺ¨λ₯΄μ§€λ§Œ, 리덕

velog.io

 

velog.io/@youthfulhps/λ¦¬λ•μŠ€-λ―Έλ“€μ›¨μ–΄λŠ”-무엇인가-2

 

λ¦¬λ•μŠ€ λ―Έλ“€μ›¨μ–΄λŠ” 무엇인가? (2) redux-thunk

이전글에 μ΄μ–΄μ„œ 이번 κΈ€μ—μ„œλŠ” λΉ„λ™κΈ°μž‘μ—… 처리λ₯Ό λ„μ™€μ£ΌλŠ” λ¦¬λ•μŠ€ 미듀웨어λ₯Ό 곡뢀해보도둝 ν•˜κ² μŠ΅λ‹ˆλ‹€. 🧰 redux-thunk, 그리고 thunk redux-thunkλŠ” λ¦¬λ•μŠ€ λ―Έλ“€μ›¨μ–΄μ—μ„œ 비동기 μž‘μ—…μ„ μ²˜λ¦¬ν•˜λŠ”

velog.io