μ§λ μ£Όμ λ§μ λ¬Έμ λ₯Ό ν΄κ²°νκ³ λͺ κ°μ§ 릴리μ€λ₯Ό λ΄λμμ§λ§ μ¬μ©μ μꡬ μ¬νμ μ΄ν΄νλ κ²κ³Ό λ³κ°λ‘ μ΄ μμ μ μννλ κ²μ μ΄λ ΅μ΅λλ€. μ΄ νλ‘μ νΈμλ λ§μ λ³μ΄ μμ§λ§ λ¬Έμ κ° μμ λ μΌλ§λ λ§μ μ¬λλ€μκ² μν₯μ λ―ΈμΉκ³ λ λ§μ ν 리νμ€νΈλ₯Ό λ°μ§ λͺ»νλμ§ λ§νκΈ° μ΄λ ΅μ΅λλ€.
μ½λλ² μ΄μ€λ λ¬Έμνλμ§ μμμΌλ©° μΈλΆμΈμκ² μνμ μΌ μ μμ΅λλ€. μ΄κ²μ΄ μ°λ¦¬κ° μμ μ¬νμ λν λ λ§μ ν μμ²μ λ°μ§ λͺ»νλ μ΄μ μ λκΉ? μλλ©΄ λ³μ΄ μ΄λλ λλ‘ νλ‘μ νΈκ° λ리 μ¬μ©λμ§ μκΈ° λλ¬Έμ λκΉ?
React DnDλ₯Ό μ¬μ©νλ νμ¬ μ¬μ©μμκ² μ¬κΈ°μμ λͺ λ§λλ§ λΆνλλ¦¬κ³ μΆμ΅λλ€.
μ΄κ²μ μ΄ νλ‘μ νΈκ° μνκ³μ μ΄λ»κ² λ€μ΄λ§λμ§, κ·Έλ¦¬κ³ λ΄ μ¬κ° μκ° μ€ μ΄λ μ λλ₯Ό ν λΉν κ°μΉκ° μλμ§ μ΄ν΄νλ λ° λμμ΄ λ κ²μ λλ€. κ°μ¬ ν΄μ!
__- μ΄λ€ μ νμμ React DnDλ₯Ό μ¬μ©νκ³ μμ΅λκΉ?_
λ€μν μ±(Kanban 보λ, LOB(Line of Business) μ ν리μΌμ΄μ )μμ μ¬μ©νκ³ μμ΅λλ€.
__- μΌλ§λ μ μ©ν©λκΉ?_
React DnDλ₯Ό μ¬μ©νκΈ° μ μ λλ react λ° jquery κΈ°λ° λͺ¨λμμ μ°Ύμ μ μλ λͺ¨λ DnD μ루μ μ μλνκ³ React DnDλ ν¨μ¬ μμ λμμ΅λλ€.
__- μΌλ§λ μμ£Ό λ¬Έμ κ° λ°μνλ©° μΌλ§λ μ€λ§μ€λ½μ΅λκΉ?_
1.0 μ΄νλ‘ λ¬Έμ κ° λ°μνμ§ μμμ΅λλ€. λ΄ μ νμμ μ΅μ λΈλΌμ°μ λ§ μ§μνλ€λ μ μ μ£Όλͺ©ν κ°μΉκ° μμ΅λλ€.
__- μ΄λ€ κΈ°λ₯μ κ΄μ¬μ΄ μμ΅λκΉ?_
μ λ λͺ¨λ κΈ°λ₯μ λ€μν μμμμ λ€μν μ‘°ν©μΌλ‘ μ¬μ©νκ³ μμ΅λλ€.
__- μ νμ μ€ν¬λ¦°μ· λͺ μ₯μ 첨λΆν μ μμ΅λκΉ?_
μ΄μ κ°μΈ νλ‘μ νΈμ ν΅ν©νλλ°(μ§κΈμ νλ©΄μ μ 곡ν μ μμ΅λλ€. μ£μ‘ν©λλ€.) κΈ°μ‘΄ λ¬Έμκ° νλ₯νλ€λ κ²μ μμμ΅λλ€. μ κ·Ό λ°©μμ λͺ ννκ³ μ΄ν΄νκΈ° μ½κ³ 보κ°μ΄ κ°λ¨νκ³ μ λ°μ μΌλ‘ μΉμν©λλ€.
μμ§ν ν€νΈμ λ¬Έμ κ° λ°μν μ μ μμ΅λλ€. μ λ κ·Έ λ¨μν¨μ΄ κ°μ₯ ν° κΈ°λ₯μ΄λΌκ³ μκ°νλ©°, μ΄λ₯Ό μ¬μ©νμ¬ HOCμ κ°μ λͺ¨λ² μ¬λ‘λ₯Ό μ§ν₯νλ μ¬λλ€μ κ²©λ €ν©λλ€.
μ΄λ€ μ νμμ React DnDλ₯Ό μ¬μ©νκ³ μμ΅λκΉ?
Treasure Dataμ μλ‘μ΄ μΉ μ½μμμ μ¬μ©ν©λλ€. κ°μΈ νλ‘μ νΈμλ μ¬μ©νμ΅λλ€.
μΌλ§λ μ μ©ν©λκΉ?
κ΅μ₯ν μ μ©νλ€. λ΄κ° μ¬μ©ν μ΅κ³ μ λλκ·Έ μ€ λλ‘ λΌμ΄λΈλ¬λ¦¬μ λλ€. μ κ΅ν λλκ·Έ μ€ λλ‘ μνΈ μμ©μ μ½κ² ꡬννλ λ° μ¬μ©ν μ μλ€κ³ νμ ν©λλ€.
λ¬Έμ κ° μΌλ§λ μμ£Ό λ°μνλ©° μΌλ§λ μ€λ§μ€λ½μ΅λκΉ?
λΌμ΄λΈλ¬λ¦¬λ₯Ό μ¬μ©ν λλ§λ€ μ΄ λͺ¨λ κ²μ΄ μ΄λ»κ² κ²°ν©λλμ§ κΈ°μ΅νλ λ° μκ°μ΄ 걸립λλ€. κ° λΆλΆμ μ΄λλ‘ κ°κ³ 무μμ ν©λκΉ? μ΄κ²μ μ¬λ¬ λ² μ¬μ©ν νμλ λ°μν©λλ€.
μλ§λ λͺ¨λ λΆλΆμ 보μ¬μ£Όλ μκ°νκ° μμΌλ©΄ κΈ°μ΅νκΈ°κ° λ μ¬μΈ κ²μ λλ€.
μ λ°μ μΌλ‘ λμκ΄μ λ΄κ° ν΄μΌ ν λͺ¨λ μΌμ νλ κ² κ°μ΅λλ€.
μ΄λ€ κΈ°λ₯μ κ΄μ¬μ΄ μμ΅λκΉ?
ν μ€νΈ κ°λ₯μ±! λλκ·Έ μ€ λλ‘μ λν λμ μ΄μ κ²½νμ λ€μ μ’μ§ μμμΌλ©° μ무λ λλκ·Έ μ€ λλ‘ κ΄λ ¨ μ½λλ₯Ό ν μ€νΈνμ§ μμμ΅λλ€.
λͺ¨λ°μΌ μ§μμ ν΄λ³Έ μ μ΄ μμ§λ§ λ°μ€ν¬νκ³Ό λͺ¨λ°μΌμ μ΄λ»κ² λμμΌλ‘ ν΄μΌ ν μ§ λͺ¨λ₯΄κ² μ΅λλ€.
λλ react-dnd-touch-backend λ₯Ό 보μμ§λ§ λμ μ΄λ»κ² νΌν©ν μ§ λͺ¨λ₯΄κ² μ΅λλ€.
μ νμ μ€ν¬λ¦°μ· λͺ κ°λ₯Ό 첨λΆν μ μμ΅λκΉ?
https://gfycat.com/ScientificEvilAmericanbadger
μ΄κ²μ κΈ°λ³Έμ μΌλ‘ κ·Έλ₯ λκ³ μλ κ²μ λλ€. react-dndλ₯Ό μ¬μ©νλ©΄ νμΌ λλ‘ μμμ μ½κ² ꡬνν μ μμ΅λλ€.
μ΄λ€ μ νμμ React DnDλ₯Ό μ¬μ©νκ³ μμ΅λκΉ?
codecks.ioλ μμ§ κ°λ° μ€μ΄μ§λ§ μ΄κΈ° μ‘μΈμ€μ κ°κΉμ΅λλ€.
μΌλ§λ μ μ©ν©λκΉ?
λ§μ΄. λΈλΌμ°μ λμμ μ μννκ³ dndμ λν λ°μ μ κ·Ό λ°©μμ μ 곡νλ©΄ μ΄ λΌμ΄λΈλ¬λ¦¬λ₯Ό μ½κ² μκ°ν μ μμ΅λλ€.
λ¬Έμ κ° μΌλ§λ μμ£Ό λ°μνλ©° μΌλ§λ μ€λ§μ€λ½μ΅λκΉ?
λ¬Έμλ νλ₯νμ§λ§ μμ μ μμν λ μ€λ₯ λ©μμ§ μμ΄ μλνμ§ μλ λλΌμ΄ λ¬Έμ μ λΆλͺμ³€μ΅λλ€. μμ μ μΌλ‘ μ¬νν μ μμμ§λ§ μλ§λ λμ΄κ° 0μΈ λλκ·Έ λμκ³Ό κ΄λ ¨μ΄ μμμ κ²μ λλ€.
μ΄λ€ κΈ°λ₯μ κ΄μ¬μ΄ μμ΅λκΉ?
λΈλΌμ°μ μ κ·ν, ν°μΉ μνΈ μμ© μ§μ
μ νμ μ€ν¬λ¦°μ· λͺ κ°λ₯Ό 첨λΆν μ μμ΅λκΉ?
μ λ μλ£ μμ κΈ°λ‘ λ³΄κ΄μλ₯Ό μν κ²μ μμ§μ λ°μ¬ κ³Όμ μμ React DnDλ₯Ό μ¬μ©νμ΅λλ€. κ²μ κ²°κ³Όλ₯Ό λλκ·Ένμ¬ μΏΌλ¦¬μ μΌλΆκ° λλλ‘ ν μ μμ΅λλ€(μ μ¬ν μ΄λ―Έμ§ μμ±). μ΄λ° λΌμ΄λΈλ¬λ¦¬κ° μμλ€λ©΄ HTML5 APIλ₯Ό μλ§μΌλ‘ λ§λ€κ³ Reactμ ν¨κ» μ μλνλμ§ νμΈν΄μΌ νμ κ²μ λλ€. λ μ€μν λ¬Έμ μ μ§μ€ν μ μλ λͺ¨λ κ²μ΄ κΈμ λλ€!
λλ μ¬κ°ν λ¬Έμ κ° μμμ§λ§ 0.xμμ 1.xλ‘μ μ νμ λ§€μ° νΌλμ€λ½κ³ dist νκ·Έκ° μ λλ‘ μ¬μ©λμ§ μμ μ’μ μμ
λλ€(1.0.0-rcλ μ
λ°μ΄νΈ μμ΄ latest
λ‘ μΆμλμμ΅λλ€. μ μ μλ₯ λΉμΉ). μ΄μ¨λ μ΄κ²μ λ€λ¦¬ μλμ λͺ¨λ λ¬Όμ
λλ€. :)
1.0.0-rcλ μ λ°μ΄νΈλ λ¬Έμ μμ΄ μ΅μ λ²μ μΌλ‘ μΆμλμμ΅λλ€.
λ€, dist-tagκ° μ΄λ»κ² μλνλμ§ λ°°μ°κΈ° μ μ΄μμ΅λλ€. :κΈ°μ¨:
μ΄λ€ μ νμμ React DnDλ₯Ό μ¬μ©νκ³ μμ΅λκΉ?
λλκ·Έ μ€ λλ‘ μνΈ μμ©μ΄ λ§μ ν΄λΌμ΄μΈνΈ νλ‘μ νΈμ μ¬μ©ν©λλ€. μ£Όλͺ©ν λ§ν κ΅¬μ± μμλ λ€μκ³Ό κ°μ΅λλ€.
λν νμ λꡬμ΄κΈ° λλ¬Έμ λλΆλΆμ μΈν°νμ΄μ€ μ λ°μ΄νΈκ° μμΌ μλ²λ‘ μ λ¬λ©λλ€.
μΌλ§λ μ μ©ν©λκΉ?
λ§€μ° μ μ©ν©λλ€. κ΅¬μ± μμμμ λλκ·Έ λ Όλ¦¬λ₯Ό λΆλ¦¬νκ³ κ°λ³μ μΌλ‘ ν μ€νΈνλ κ²μ λ§€μ° μ½μ΅λλ€.
λ¬Έμ κ° μΌλ§λ μμ£Ό λ°μνλ©° μΌλ§λ μ€λ§μ€λ½μ΅λκΉ?
λ΄ν¬μ μ λ ¬μ μ§μνλ νΈλ¦¬λ·°λ λ§μ λ¬Έμ μ μ§λ©΄ν΄ μλλ°,
μ°λ¦¬κ° κ²½νν λ ν° λ¬Έμ μ€ νλλ μ€μ²© λ° μ λ ¬μ μ§μνλ νΈλ¦¬ 보기λ₯Ό ꡬννλ κ²μ΄μμ΅λλ€.
λ€μν μ νμ λ Έλ(ν΄λ, λͺ©λ‘)κ° μμ΅λλ€. μ¬μ©μλ ν΄λμ 무μΈκ°λ₯Ό λμΌλ©΄ μ€μ²©λκ±°λ λ€λ₯Έ λ Έλ μλ λλ μμ μ λ ¬λ©λλ€. μ΄ μνΈ μμ©μλ κΉλ°μμ΄ λ§μ΄ λ°μνκ³ μΌλΆ λ²κ·Έκ° μμΌλ©° λλλ‘ μ±λ₯μ΄ μ νλ©λλ€. μ΄ λΉλμ€ μ°Έμ‘°: http://s.2to1.be/fAtX ,
μλ λ°©μμ λ€μκ³Ό κ°μ΅λλ€.
νμ¬ μ°λ¦¬λ λ
Έλκ° ν΄λ μ/μλ/μμ μλμ§ μ¬λΆλ₯Ό κ³μ°νκΈ° μν΄ μΌλΆ μν(μ΄ λ¦¬ν¬μ§ν 리μ μ λ ¬ κ°λ₯ν μμ μ λ³ν)μ μ¬μ©ν©λλ€. μ²μμλ Folder
κ΅¬μ± μμλ₯Ό DropTarget
λ‘ λ§λ€λ €κ³ νμ§λ§ μλνμ§ μμ λ€λ₯Έ Node
DropTarget
λ₯Ό μ λ ¬ν μ μμμ΅λλ€.
μ΄λ€ κΈ°λ₯μ κ΄μ¬μ΄ μμ΅λκΉ?
- ν μ€νΈ κ°λ₯μ±
- λ°±μλ μ ν
- μ΄λ²€νΈμ μ°κ²°
- λΈλΌμ°μ μ§μ
μ νμ μ€ν¬λ¦°μ· λͺ κ°λ₯Ό 첨λΆν μ μμ΅λκΉ?
μμ λμμμ μ°Έμ‘°νμΈμ
μ§λ μ£Όμ (μμ§ μΆμλμ§ μμ) κ΅μ‘ μΉ μ±μ react-dndλ₯Ό μΆκ°νμ΅λλ€. λλλ€! μμ μ κ°μ¬λ립λλ€!
κ°μ₯ ν° μΉλ¦¬ IMOλ react-dndκ° μ 체 μ±μμ DnD κΈ°λ₯μ κ΄λ¦¬νκΈ° μν μ μ ν μμ€μ μΆμνλ₯Ό μ 곡νλ€λ κ²μ λλ€.
λΆλ¦¬λ λ¨μΌ ν¬κΈ°μ λͺ¨λ λλκ·Έ κ΅¬μ± μμ(μ λ ¬ κ°λ₯ λ±)μ μ΄μν μ‘°ν©μ λ²λ¦΄ ββμ μλ κ² μΈμλ μ΄μ μλ λ무 볡μ‘νλ€κ³ μκ°νλ λλκ·Έ κΈ°λ° κΈ°λ₯μ λͺ μκ° λ§μ μΆκ°ν μ μμμ΅λλ€. κ·Έλ§ν κ°μΉκ° μμ΅λλ€(μ: μΉ΄λλ₯Ό λμ΄ λͺ©λ‘ λ΄μμ μ¬μ λ ¬νκ±°λ μ¬μ©μ λͺ©λ‘ μμ΄μ½μΌλ‘ λμ΄ μ¬μ©μ λͺ©λ‘μ νμν λ€μ μ μ ν μ¬μ©μμκ² λκΈ°).
μ§κΈκΉμ§ λ΄κ° κ²ͺμλ μ μΌν λ¬Έμ λ ν°μΉ λ°±μλμ μμμ΅λλ€. κ·Έλ¬λ λΉ λ₯΄κ² μ§ννκΈ° μν΄ ν΄νΉμ ν μ μμκ³ λκ΅°κ°κ° λ μΌλ°μ μΈ ν 리νμ€νΈλ₯Ό μμ μ€μ΄λΌκ³ λκΈμ λ¨κ²Όμ΅λλ€.
μ΄λ―Έ λ©μ§ APIλ₯Ό κ³ λ €ν λ λ΄κ° μ κ²½μ μ°λ μ£Όμ κΈ°λ₯μ κ²¬κ³ ν ν°μΉ μ§μμ λλ€.
κ°μΈμ μΌλ‘ μ€ν μμ€ νλ‘μ νΈμ λν΄ ν 리νμ€νΈλ₯Ό νμ§ μλ μ΄μ (μ΄μ¨λ μ§κΈκΉμ§λ)μ λν΄ λ§νμλ©΄...μ λ λμμ΄λμ λλ€. μλ₯Ό λ€μ΄ μ΄ λꡬλ₯Ό μ¬μ©νμ§λ§ λ΄ λ¨Έλ¦¬λ μμ°μ€λ½κ² λ§€μ° λ€μν μ’ λ₯μ λ¬Έμ μ λν΄ μκ°νκ² λ©λλ€. μ΄μ κ°μ λΌμ΄λΈλ¬λ¦¬μμ λ°μνλ λ¬Έμ λ₯Ό ν΄κ²°νλ λ° λ₯μνμ§ μλ€λ κ² μΈμ μ€μ λ‘λ νμμ νλ μμ μ΄ μλλ©° λ΄ μ루μ μ "μ λ’°"νμ§ μμ΅λλ€. μ¬κΈ°μ μ΄λ μ λμ μ΄κΈ°μ¬μ΄ μλ€λ κ²μ μκ³ μμ§λ§, μ΄λ° μμΌλ‘ νλνλ νλ‘ νΈμλ κ°λ°μμ μ°μ°νλ μ½λ©μ νλ λμμ΄λκ° λͺ λͺ μ΄μ μλ€κ³ μκ°ν©λλ€. μ± κ°λ°μ 볡μ‘μ±μ μ ν λμμΈμ 볡μ‘μ±κ³Ό λ λ°μ νκ² μΌμΉμμΌ λλ©μΈ κ° μ΄λμ΄ λ κ±°μ¬λ¦΄ μ μλλ‘ λμμ£Όλ λκ΅¬λ‘ λμ κ°μ λμμ΄λλ₯Ό κΈ°κΊΌμ΄ λμμ£Όλ λΉμ κ³Ό κ°μ μ¬λλ€μκ² λ§€μ° κ°μ¬ν©λλ€.
μ°Έκ³ λ‘ μ λ λ μ΄μμ λ³κ²½μ μ λλ©μ΄μ ν¨κ³Όλ₯Ό μ£ΌκΈ° μν΄ react-dndλ₯Ό react-flip-moveμ ν¨κ» μ¬μ©νκ³ μμ΅λλ€. λ©°μΉ μλλλ° λμ΄ λ무 μμ΄μΈλ €μ.
@arstin
μ΄κ²μ μμ ν λ΄ ν루λ₯Ό λ§λ€μμ΅λλ€. :λ§μ:
_μ΄λ€ μ νμμ React DnDλ₯Ό μ¬μ©νκ³ μμ΅λκΉ?_
μ νμ μμ§ ν¬μ₯ μ€μ
λλ€.
_μΌλ§λ μ μ©ν©λκΉ?_
λ§€μ° μ μ©ν©λλ€. λμ΄μ λκΈ° μ νμ΄ λ§μ΄ μμ΅λλ€. κ΅¬μ± μμ λ΄μμ DnD λ
Όλ¦¬λ₯Ό μ μ§νλ κ²μ μ°λ¦¬μ λλκ° λͺ¨λ 볡μ‘μ±μ κ΄λ¦¬νλ λ° λμμ΄ λμμ΅λλ€.
_μΌλ§λ μμ£Ό λ¬Έμ κ° λ°μνλ©° μΌλ§λ λ΅λ΅ν©λκΉ?_
λ±λ‘νλ λλ‘ νκ²μ μμ΄ λ§κΈ° λλ¬Έμ μ±λ₯μ λͺ κ°μ§ λ¬Έμ κ° μμ΅λλ€. κ·Έλ μ§ μμΌλ©΄ νλ₯νκ² μλν©λλ€!
_μ΄λ€ κΈ°λ₯μ κ΄μ¬μ΄ μμ΅λκΉ?_
μ±λ₯ λ° SVG νΈνμ±.
μ νμ μ€ν¬λ¦°μ· λͺ κ°λ₯Ό 첨λΆν μ μμ΅λκΉ?
μμ νμ§λ μμ§λ§, μ΄κ²μ μ°λ¦¬κ° React-DnDλ‘ ν΄κ²°νλ €κ³ νλ λ¬Έμ μ λν μμ΄λμ΄λ₯Ό μ€ κ²μ
λλ€.
μ΄ μμ© νλ‘κ·Έλ¨μ μ λ΅ κ²μ 맡 νΈμ§κΈ°μ κ°μ κΈ°λ₯μ ν©λλ€. μ¬λ¬ κ·μΉμ λ°λΌ μ νλͺ©μ μ§λλ‘ λμ΄λ€ λμ μ μμΌλ©° μ§λμμ νλͺ©μ μ΄λν μλ μμ΅λλ€. μ°λ¦¬λ μ¨λΌμΈ κ²μμ λ§λλ κ²μ΄ μλλΌ λ€λ₯Έ 맀ν λ¬Έμ λ₯Ό ν΄κ²°νκΈ° μν΄ λͺ κ°μ§ μμ΄λμ΄λ₯Ό μ¬μ©ν©λλ€(μμ§ μΈκΈν μ μμ).
νλ₯ν λμκ΄μ μ£Όμ μ λλ¨ν κ°μ¬ν©λλ€!
λ°μμ μ¬μ©νκ³ dnd μμ μ μνν΄μΌ νλ κ²½μ° μ΄κ²μ μλͺ μ μμΈμ λλ€. νλ₯ν μΌ!
λλ μ°λ¦¬μ μ μ‘ κ΄λ¦¬ μννΈμ¨μ΄ μμ React DNDλ₯Ό μ¬μ©ν©λλ€. μ§κΈκΉμ§λ μ ν λ¬Έμ κ° μμμ΅λλ€.
μ¬μ©μλ λ°°λ¬ μ λ₯μ₯μ λλκ·Ένμ¬ κ³μ°λ 거리μ ν¨κ» μ§λμμ μ§μ λ΄ λλ€.
μ΄λ€ μ νμμ React DnDλ₯Ό μ¬μ©νκ³ μμ΅λκΉ?
λμ΄μ λκΈ° λΈλ‘ κΈ°λ° CMS(λ λ€λ₯Έ λ΄λΆ λ² ν, 4μ ν΄λΌμ΄μΈνΈμ© μΆμ)
μΌλ§λ μ μ©ν©λκΉ?
μμ²λκ². APIκ° λ€λ₯Έ νμ¬ κ΅¬μ± μμλ§νΌ _μ νν_ κ°λ¨νμ§λ μμ§λ§ λ§€μ° κ°λ ₯νκ³ μ€μ λ‘ νμν λͺ¨λ μμ μ μνν μ μμ΅λλ€.
λ¬Έμ κ° μΌλ§λ μμ£Ό λ°μνλ©° μΌλ§λ μ€λ§μ€λ½μ΅λκΉ?
λλ¬Όκ³ λ³λ‘ λ΅λ΅νμ§ μμ΅λλ€.
μ΄λ€ κΈ°λ₯μ κ΄μ¬μ΄ μμ΅λκΉ?
μμ μ± λ° ν¬λ‘μ€ λΈλΌμ°μ λ°©ν.
μ νμ μ€ν¬λ¦°μ· λͺ κ°λ₯Ό 첨λΆν μ μμ΅λκΉ?
μ΄λ€ μ νμμ React DnDλ₯Ό μ¬μ©νκ³ μμ΅λκΉ?
λλκ·Έ μ€ λλ‘μ μ¬μ©νλ λͺ¨λ μ₯μμ λν΄ Asana μΉ μ ν리μΌμ΄μ μμ React DnDλ₯Ό μ¬μ©ν©λλ€. νμ¬ μ¬λ΄ Luna νλ μμν¬μμ Reactλ‘ μ ν리μΌμ΄μ μ λ€μ μμ±νκ³ μμΌλ©° λλκ·Έ μ€ λλ‘μ μ¬μ©νλ λͺ¨λ μμΉμμ λ€μ μμ±νλ λμ React DnDλ₯Ό μ¬μ©νκ³ μμ΅λλ€.
μΌλ§λ μ μ©ν©λκΉ?
μ°λ¦¬λ λ§€μ° μ μ©νλ€λ κ²μ μμμ΅λλ€. APIλ μμ νκΈ° μ½κ³ λλκ·Έ μ€ λλ‘μ λͺ κ°μ§ κ΅¬μ± μμμ ν¬ν¨νμ¬ λ¬Έμ λ₯Ό λͺ ννκ² κ΅¬λΆν μ μμ΅λλ€.
λ¬Έμ κ° μΌλ§λ μμ£Ό λ°μνλ©° μΌλ§λ μ€λ§μ€λ½μ΅λκΉ?
μ΄κΈ° λ¨ν μ μΈμλ μ’ μ’ λ¬Έμ κ° λ°μνμ§ μμ΅λλ€. μ°λ¦¬λ TypeScriptμ ν¨κ» React DnDλ₯Ό μ¬μ©νλ©°, μ ν μ μλ₯Ό μμ±νλ κ²μ΄ μ°λ¦¬λ₯Ό μν λ¨νμ κΈ°κ°μ λ¨μΆμμΌ°λ€κ³ μκ°ν©λλ€(νλ‘μΈμ€μμ μ 체 APIλ₯Ό νμν΄μΌ νκΈ° λλ¬Έμ). μ΄μ μ°λ¦¬μ λ¬Έμ λ μΌλ°μ μΌλ‘ ν μ€νΈμ κ΄ν κ²μ λλ€(μ: ν μ€νΈ κ° μ 리, dnd-decorated κ΅¬μ± μμλ‘ μμ νλ μ¬λ΄ λμ°λ―Έ λ±). μ΄κ²μ λλλ‘ μ’μ κ°μ μ£ΌκΈ°λ νμ§λ§, μ΄μ λ μ¬μ©ν λ²μ© κ΅¬μ± μμλ λ―Έλ κ΅¬μ± μμμ κΈ°λ°μ΄ λλ μμ κ΅¬μ± μμκ° μμΌλ―λ‘ λ κ·Έλ μ΅λλ€.
μ΄λ€ κΈ°λ₯μ κ΄μ¬μ΄ μμ΅λκΉ?
μ±λ₯, κ΄μ¬μ¬ λΆλ¦¬, ν μ€νΈ κ°λ₯μ±
μ νμ μ€ν¬λ¦°μ· λͺ κ°λ₯Ό 첨λΆν μ μμ΅λκΉ?
@epelz νμνλ €λ©΄ asanaλ₯Ό λ°μμΌ ν©λλ€. κ·Έλ μ§ μμΌλ©΄ νλ‘μ νΈ μλκ° λλ €μ§ κ²μ λλ€.
defκ° react-dndλ₯Ό μ¬μ©νλ Trelloλ₯Ό λ§λλ https://github.com/Asana λλ https://github.com/FogCreek μ΄ νλ₯ν νμμκ° λ μ μμ΅λλ€.
@gaearon μ΄ λ μ’μ§λ§ νμ΄μ€λΆμ΄ νμμ ν΄μ€λ€
μ΄λ€ μ νμμ React DnDλ₯Ό μ¬μ©νκ³ μμ΅λκΉ?
μ°¨μΈλ UI.
μΌλ§λ μ μ©ν©λκΉ?
κ·Ήλλ‘! λλ λ¬Έμλ₯Ό μ’μνμ§λ§ λ λ§μ μ€μ μ¬λ‘λ₯Ό μ¬μ©ν μ μμ΅λλ€.
λ¬Έμ κ° μΌλ§λ μμ£Ό λ°μνλ©° μΌλ§λ μ€λ§μ€λ½μ΅λκΉ?
μνμ΄ λ³κ²½λ λ componentWillUpdate λ©μλκ° μ€νλμ§ μλλ‘ νλ DragSourceλ‘ κ΅¬μ± μμλ₯Ό μ₯μν λ λ¬Έμ κ° λ°μνμ΅λλ€. λ무 λ΅λ΅ν΄μ λ²κ·Έλ₯Ό μ κ³ ν΄μΌ ν κ² κ°μ΅λλ€. κ·Έλλ λΉμ μ΄ μλλΌ λμΈ κ² κ°μμ. ;)
μ΄λ€ κΈ°λ₯μ κ΄μ¬μ΄ μμ΅λκΉ?
μ±λ₯, μμ μ± λ° ν°μΉ μ§μ.
μ νμ μ€ν¬λ¦°μ· λͺ κ°λ₯Ό 첨λΆν μ μμ΅λκΉ?
μμ§μ μλμ§λ§ μ λͺ©λ‘μμ λͺ©λ‘μ μ¬μ λ ¬νκ³ λμ΄μ€λ κ²μ΄ λλ ΅μ΅λλ€. μ¬κΈ°μ λ€λ₯Έ μμ λΉν΄ λ§€μ° κ°λ¨ν©λλ€.
μ΄λ€ μ νμμ React DnDλ₯Ό μ¬μ©νκ³ μμ΅λκΉ?
@teleport μμλ μμ μ μ¬μ λ ¬νκ³ λΆλ₯νκΈ° μν΄ Zen (μ΄λ 체ν¬λ¦¬μ€νΈ) μ νμμ React DnDλ₯Ό μ¬μ©ν©λλ€.
λν νμ¬ λ΄λΆ νλ‘μ νΈμμ μ¬μ©νκΈ° μν΄ React DnDλ₯Ό μ¬μ©νμ¬ κ΅¬νλ DnD μ§μκ³Ό ν¨κ» μ¬μ¬μ© κ°λ₯ν νΈλ¦¬ 보기 κ΅¬μ± μμ react-dnd-treeview λ₯Ό ꡬμΆνμ΅λλ€. μ°λ¦¬λ μ²μμ react-ui-tree λ₯Ό μ¬μ©νμ§λ§ μ λλ‘ λ UXλ₯Ό μ»μ μ μμκ³ React DnDμ λν κΈμ μ μΈ κ²½νμ΄ μμ΄μ μ체μ μΌλ‘ ꡬννμ΅λλ€. κ΅¬μ± μμλ μ λ§ μ΄κΈ° λ¨κ³μ μμΌλ―λ‘ λ¬Έμ, CI λ±μ΄ μμ§ μμ§λ§ νΌλλ°±μ νμν©λλ€!
μΌλ§λ μ μ©ν©λκΉ?
λͺ¨λΈμ μ΄ν΄νλ λ° μκ°μ΄ μ’ κ±Έλ Έμ§λ§ λμμΈμ΄ μ λ§ κΉλνκ³ DnDκ° νμν λͺ¨λ κ³³μμ μ¬μ©νκΈ°λ‘ κ²°μ νμ΅λλ€. λ§€μ° μ μ©ν©λλ€.
λ¬Έμ κ° μΌλ§λ μμ£Ό λ°μνλ©° μΌλ§λ μ€λ§μ€λ½μ΅λκΉ?
μ§κΈκΉμ§ 2κ°μ§ λ¬Έμ κ° μμμ΅λλ€.
μ΄λ€ κΈ°λ₯μ κ΄μ¬μ΄ μμ΅λκΉ?
μ±λ₯, κΈ°λ³Έ λΈλΌμ°μ /νλ«νΌμ λ¨μ μ μ¨κΉλλ€.
μ νμ μ€ν¬λ¦°μ· λͺ κ°λ₯Ό 첨λΆν μ μμ΅λκΉ?
μ΄λ€ μ νμμ React DnDλ₯Ό μ¬μ©νκ³ μμ΅λκΉ?
Discord - https://discordapp.com - κ²μ΄λ¨Έλ₯Ό μν μμ± λ° λ¬Έμ μ±ν
μΌλ§λ μ μ©ν©λκΉ?
맀μ°!
λ¬Έμ κ° μΌλ§λ μμ£Ό λ°μνλ©° μΌλ§λ μ€λ§μ€λ½μ΅λκΉ?
λλ¬Όκ² 5/10 μ€λ§μ€λ½μ΅λλ€.
μ΄λ€ κΈ°λ₯μ κ΄μ¬μ΄ μμ΅λκΉ?
λͺ¨λ νμ¬ κΈ°λ₯.
μ°λ¦¬λ Slack λ°μ€ν¬ν± ν΄λΌμ΄μΈνΈμ react-dndλ₯Ό κ±°μ μ¬μ©νμ§λ§ λΆννλ λ κ°μ§ μ ν μ¬νμ λΆλͺν κ²°κ΅ κ±°λκ° μ€λ¨λμμ΅λλ€.
hover
μμ μμ
μ μννλ κ²½μ° μΌλ° React λ λ 루νλ₯Ό μ°¨λ¨ν©λλ€. μ¬μ©μ μ μ λλκ·Έ λ μ΄μ΄λ₯Ό μν κ²½μ° μΆκ° React κ΅¬μ± μμλ₯Ό μμ±ν΄μΌ νκ³ ν΄λΉ λλκ·Έ λ μ΄μ΄λ dnd λͺ¨λν°μμ props
λ³κ²½μ λν μλ΅μΌλ‘ μμΉλ₯Ό λ³κ²½νμ¬ μλνλ―λ‘ render()
λ κ²°κ΅ λ€μμ μ»μ΅λλ€. _λ§μ΄_. μ΄κ²μ DragSourceλ₯Ό λλκ·Έν λ hover
μμ λ€λ₯Έ κ΅¬μ± μμ(λλΆλΆ λ€λ₯Έ λλ‘ λμ)λ₯Ό λ€μ λ λλ§νλ €λ κ²½μ°μλ§ λ¬Έμ μ
λλ€. μ°λ¦¬λ hover
μ μνλ₯Ό λΉλκΈ°μ μΌλ‘ λ³κ²½νκ³ λκΈ° λμμ΄ λ³κ²½λμ§ μμ κ²½μ° νΈλ²μμ μΌμ° λ°ννμ¬ μ΄λ₯Ό λ€μ μνν μ μμμ§λ§ νΈλ²λ§νλ λμ λκΈ° λμμ λ³κ²½ν λ μ¬μ ν λμ λλ μ§μ°μ΄ μμμ΅λλ€.νΌλλ°±μ΄ λμμ΄ λκΈ°λ₯Ό λ°λλλ€! λλ Slack μ±μμ κ·Έκ²μ μ¬μ©ν κ°λ₯μ±μ μ‘°μ¬νλ λμ react-dndλ‘ μμ νλ κ²μ μ¦κ²Όκ³ , κ°λ₯νλ€λ©΄ μ΄λ¬ν νκ³λ₯Ό 극볡νλ κ²μ λ³΄κ³ μΆμ΅λλ€.
μ΄λ€ μ νμμ React DnDλ₯Ό μ¬μ©νκ³ μμ΅λκΉ?
μΉ νμ΄μ§λ₯Ό λ§λλ μλ‘μ΄ λ°©λ²μΈ tylio μμ μ¬μ©ν©λλ€. React-dndλ μ½ν μΈ λ₯Ό μ λ‘λνλ νμ΄μ§μ μ λ©΄ μ€μμ μμ΅λλ€.
μΌλ§λ μ μ©ν©λκΉ?
κ΅μ₯ν μ μ©νλ€; λͺ¨λ μμ§μ΄λ λΆλΆμ ν λ²μ μ΄ν΄ν΄μΌ νκΈ° λλ¬Έμ μ²μμλ 머리λ₯Ό κ°μΈλ κ²μ΄ μ½κ° μ΄λ ΅μ§λ§ ν΄λ¦νλ©΄ μ λ©λλ€.
λ¬Έμ κ° μΌλ§λ μμ£Ό λ°μνλ©° μΌλ§λ μ€λ§μ€λ½μ΅λκΉ?
μ°λ¦¬μ κ²½μ°λ ν¬κΈ°κ° λ€λ₯Έ νλͺ©μ μ¬μ λ ¬νκ³ μ΄λνλ©° λ€μ§νλ κ²μ μνμ§ μκΈ° λλ¬Έμ λ§€μ° λ³΅μ‘ν©λλ€. λ¬Έμ κ° μ’ μκΈ΄ νμ§λ§ λΌμ΄λΈλ¬λ¦¬ μ체보λ€λ μ¬μ©λ²μ΄ λ λ¬Έμ μλ κ² κ°μμ.
μ΄λ€ κΈ°λ₯μ κ΄μ¬μ΄ μμ΅λκΉ?
κ±°μ κ·Έλ€ λͺ¨λ! λ€μν μ νμ λλκ·Έ μμ€ λ° λλ‘ λμ, κΈ°λ³Έ νμΌ/URL/ν μ€νΈ, HTML5 λ° λ§μΆ€ν λλκ·Έ λ μ΄μ΄κ° μλ ν°μΉ λ°±μλλ₯Ό μ¬μ©ν©λλ€.
μ νμ μ€ν¬λ¦°μ· λͺ κ°λ₯Ό 첨λΆν μ μμ΅λκΉ?
Typescriptμ ν¨κ» μ¬μ©νλ μ¬λμ΄ μλ€λ©΄ κΈ°λ³Έμ μΈ μλ₯Ό λ€μ΄ μ£Όμκ² μ΅λκΉ? λλμ΄ μ€λ₯μ λΆμ΄ :
decorateHandler.js:13 Uncaught TypeError: Cannot call a class as a function
λλ μ΄κ²μ λ€μκ³Ό κ°μ΄ μ¬μ©νλ€.
@DragSource(ItemTypes.IDEA,ideaSource,(connect:DragSourceConnector, monitor:
DragSourceMonitor)=>{
return {
connectDragSource:connect.dragSource(),
isDragging:monitor.isDragging()
};
})(Idea)
export class Idea extends React.Component<IIdeaProps,{}>{...}
λ무 λ¦μ μκ°μΈμ§λ λͺ¨λ₯΄κ² μ§λ§ (건μ€μ μΈ) νΌλλ°±μ μ£Όκ³ μΆμμ΅λλ€.
λλ React-DnDκ° μ΄ν΄νκΈ° (κ·Έλ¦¬κ³ κ΅¬ννκΈ°) λ€μ μ΄λ ΅λ€λ κ²μ μμλ€. μμ§μ΄λ λΆνμ΄ λ§κ³ μ€μ μ΄ μλΉν 볡μ‘ν©λλ€. λλ μ’ λ "νλ¬κ·Έ μ€ νλ μ΄"κ° λκΈ°λ₯Ό λ°λλ€. κ·Έλ¦¬κ³ μλ§λ μ΄κ²μ λ§μ λ€λ₯Έ κ²λ€μ μλνκΈ° λλ¬ΈμΌ κ²μ λλ€(λμ λλκ·Έ/λλ‘, λͺ©λ‘ μ¬μ λ ¬ λ±). κ·Έλ¬λ λλ κΈ°λ³Έμ μΌλ‘ κ° νλͺ©μ μ/μλ λ²νΌμ λ°°μΉνκ³ κ·Έλ° μμΌλ‘ μ¬μ λ ¬νκ³ λ°μ ν립 μ΄λ κ³Ό κ²°ν©νμ¬ μμ§μμ μ λλ©μ΄μ νλ λ€λ₯Έ μ κ·Ό λ°©μμ μ·¨νμ΅λλ€.
λͺ©λ‘ μ¬μ λ ¬μλ§ μ€μ μ λκ³ μλνλλ‘ _맀μ°_ κ°λ¨νκ² μ μ§νλ ν¬ν¬λ₯Ό λ³΄κ³ μΆμ΅λλ€.
Reactμ Reduxλ₯Ό μ¬μ©νμ¬ κ΅¬μΆλ λκ·λͺ¨ λ μ μ νμ μ¬μ©νκΈ° μμνμ΅λλ€. react-dndλ₯Ό μ¬μ©νμ¬ μ±μ SVG μμλ₯Ό μ μΈν λͺ¨λ νλͺ©μ λμ΄μ λκΈ° μΈ‘λ©΄μ κ΄λ¦¬ν©λλ€. μ¬λ°λ₯Έ μΆμν κ³μΈ΅λ§ μμ΅λλ€. μ¬μ€, React μ΄μ μ μ½λμ λν΄ λ§€μ° μ μ¬ν μ¬λ΄ μ½λκ° μμΌλ©° λ§μ°μ€ μ΄λ²€νΈλ‘ λ·λ°μΉ¨λ©λλ€.
react-dndκ° κ°κ³ μΆμ ν κ°μ§λ λ§μ°μ€ μ΄λ²€νΈλ₯Ό κΈ°λ°μΌλ‘ νλ λ°±μλμ΄λ―λ‘ SVG μμμμλ μλν©λλ€.
Btw, νλ¦ μ νμ λν κΈ°μ‘΄ μ μ κ° λΆμμ νκΈ° λλ¬Έμ TypeScript μ μλ₯Ό κΈ°λ°μΌλ‘ νλ¦ μ ν μ μλ₯Ό μμ±νλ μ€μ λλ€.
μμ°, λ§μ μ λ ₯! μ΄κ²μ ν΅κ³Όν΄μΌ ν λ§μ λ°μ΄ν°μ λλ€! μ΄ λ¬Έμ λ₯Ό λ§λ¬΄λ¦¬νκ² μ΅λλ€. μκ°μ λ΄μ΄ μ견μ μ μΆν΄ μ£Όμ λͺ¨λ λΆλ€κ» κ°μ¬λ립λλ€!
μ λ μμΌλ‘ λͺ μ£Ό μμ μΌλΆ λ¬Έμλ₯Ό μ λ°μ΄νΈν κ³νμ΄λ©°, μ μκ° μ€ νλλ React DNDλ₯Ό μ¬μ©νμ¬ νλ‘μ νΈμ μ ν리μΌμ΄μ μ μν μΌμΌμ΄μ€λ₯Ό λ§λλ κ²μ λλ€. λ΄κ° κ·Έμ νλ‘μ νΈλ₯Ό 맑μ λ κ·Έ νλ‘μ νΈλ₯Ό μΊ‘μ²νκΈ° μν΄ νμ λ¬Έμ λ₯Ό λ§λ€ κ²μ λλ€!
π
@mnquintana λ§€μ° ν₯λ―Έλ‘μ΄ νΌλλ°±- λΉμ κ³Ό νμ κ²°κ΅ λ€λ₯Έ λλκ·Έ μ€ λλ‘ λΌμ΄λΈλ¬λ¦¬λ₯Ό μ¬μ©νκ² λμλμ§ μλλ©΄ μ²μλΆν° μμ ν 무μΈκ°λ₯Ό ꡬμΆνκ² λμμ΅λκΉ?
@mnquintana λ μ΄ λ¬Έμ λ₯Ό 극볡νκΈ° μν΄ λ¬΄μμ νλμ§ λ°°μ°λ©΄ μ λ§ κ΅μ₯ν κ²μ λλ€. λλ λ λμ λ°©λ²μΌλ‘ dnd λΌμ΄λΈλ¬λ¦¬λ₯Ό slackμμ 릴리μ€νλλ‘ νμΈμ!
@epelz λμμ΄ νμν©λλ€. λμ보λμ μΉ΄λμ λͺ©λ‘μ νλͺ©μ λκ±°λ μΉ΄λμ λͺ©λ‘μ λν΄ λ³λμ κ΅¬μ± μμλ₯Ό μ¬μ©νμ¬ μ¬μ¬μ© κ°λ₯ν λμ΄μ λκΈ° κ΅¬μ± μμλ₯Ό μμ±νμ΅λκΉ? λ΅λ³ν΄μ£Όμλ©΄ μ λ§ κ°μ¬νκ² μ΅λλ€.
λλ μ΄κ²μ΄ κ½€ μ€λλ ν λ‘ μ€λ λλΌλ κ²μ μκ³ μμ§λ§ μ΄μ¨λ κΈ°μ¬νκ³ μΆμμ΅λλ€. μλ²λ
ΈνΈ
π λΉμ¦λμ€λ₯Ό μν μλ‘μ΄ Spaces μ νμ μ§κΈ react-dndλ₯Ό μ¬μ©ν©λλ€! μ°λ¦¬λ λ§μ κ²μ λ°°μ κ³ μ¬λλ€μ΄ κ΄μ¬μ κ°μ§λ€λ©΄ μ°λ¦¬κ° λ°°μ΄ κ²μ 곡μ νλ €κ³ ν κ²μ
λλ€ :)
μ΄λ€ μ νμμ React DnDλ₯Ό μ¬μ©νκ³ μμ΅λκΉ?
https://evernote.com/business
μΌλ§λ μ μ©ν©λκΉ?
κ΅μ₯ν μ μ©νλ€! κ°νλ₯Έ νμ΅ κ³‘μ μ΄μμ§λ§ μ°λ¦¬λ μ°λ¦¬κ° νκ³ μΆμ λλΆλΆμ μΌμ ν μ μμμ΅λλ€.
λ¬Έμ κ° μΌλ§λ μμ£Ό λ°μνλ©° μΌλ§λ μ€λ§μ€λ½μ΅λκΉ?
μ²μ μμνλ μ¬λλ€μκ²λ ν° μ₯λ²½μ΄ μκ³ λ€λ£¨κΈ°μ ν₯λ―Έλ‘μ΄ κ²λ€μ΄ μλ€κ³ μκ°ν©λλ€. νΈλ² λ° λλ‘ ν¨κ³Όμ κ΄λ ¨λ μΌλΆ λ²κ·Έλ μ°λ¦¬λ₯Ό κ½€ νΌλμ€λ½κ² νμ§λ§ λ μμΈν μ΄ν΄λ³΄λ©΄ κ·Έ μ€ μΌλΆλ HTML5μ λλκ·Έ/λλ‘ κΈ°λ³Έ ꡬνμ μ ν μ¬νμΈ κ² κ°μ΅λλ€(λλ‘ ν¨κ³Όλ νΉν μ μ©νλ €λ 컀μλ₯Ό 무μνλ―λ‘ cursor: no-drop
μ κ°μ κ²μ νμ©νμΈμ. νμν κ²½μ° μμ μ λ°±μλλ₯Ό ꡬνν μ μλλ‘ λ§λ κ²μ΄ μ λ§ λλνκ³ μμ§ ν°μΉ λ°±μλλ₯Ό μ€νν΄ λ³΄μ§ μμμ΅λλ€.
κΆνμ μ°κ²°νλ ν₯λ―Έλ‘μ΄ μκ°μ κ°μ‘μ΅λλ€. λ©λͺ¨λ₯Ό μν λμ΄μ λκΈ°μλ 무μΈκ°λ₯Ό μ΄λ λ°/λλ λμ μ μλμ§ μ¬λΆλ₯Ό μκΈ° μν΄ λ§μ κ²μ΄ νμν©λλ€. λν CustomDragLayerμμ λλ‘ν μμΉλ₯Ό μ°Ύμ§ λͺ»ν κ²½μ° κΈ°λ³Έ DOM μμμ λν κΈ°λ³Έ νμ΄λ μμ λλκ·Έλ°±μ λ€μ ꡬνν΄μΌ ν¨μ λ°κ²¬νμ΅λλ€(μ΄λ μ°λ¦¬κ° κΈ°μ¬ν μ μλ μμΌ μ μμ).
μ΄λ€ κΈ°λ₯μ κ΄μ¬μ΄ μμ΅λκΉ?
μ°λ¦¬λ μ¬λ¬ λμ΄μ λκΈ°λ₯Ό ꡬννλ €κ³ νλ©° μ°λ¦¬κ° μλ ν React-Dndλ₯Ό μ¬μ©νμ¬ μ΄λ₯Ό μνν μ μλ κΉ¨λν λ°©λ²μ΄ μλ κ² κ°μ΅λλ€. νμ§λ§ λ μμΈν μ΄ν΄λ³΄κ³ μμ΅λλ€. λ κΉμ΄ νκ³ λ€λ©΄ λ λ§μ κ²μ 곡μ ν κ²μ
λλ€.
@augbog μλνλμ§ νμ€νμ§ μμ§λ§ λ¬Έμ #14μ 첫 λ²μ§Έ κ²μλ¬Όμμ gaeronμ ꡬνμ μ΄ν΄λ³΄κ³ μ¬μ©μ μ§μ λλκ·Έ λ μ΄μ΄λ₯Ό μ¬μ©νλ λ°©λ²μ μ΄ν΄λ³΄μμ΅λκΉ?
μ΄λ€ λ©΄μμ μ΄ μλ리μ€λ μ΄λ―Έ κ°λ₯ν©λλ€. μλΉμλ μ νν μμλ₯Ό μλμΌλ‘ μΆμ νκ³ dragPreviewλ₯Ό μΌμ’ μ μΌλ° μ리 νμμ μ΄λ―Έμ§λ‘ μ€μ νκ³ μ¬λ¬ μμμ μμ (λΉμ¦λμ€ λ‘μ§μ κ΄ν ν)μ μ μ νκ² λ°μν μ μμ΅λλ€.
https://react-dnd.github.io/react-dnd/examples-drag-around-custom-drag-layer.html
@JM-Mendez κ°μ¬ν©λλ€ μ, μ°λ¦¬λ κ·Έκ²μ 보μκ³ μ¬λ¬ κ΅¬μ± μμκ° λλκ·Έλκ³ μμμ μΈμνλ κ²κ³Ό κ΄λ ¨λ νμ μ견μ λν΄ μ°λ €νμ§λ§ λ€μ μ½μ νμ μ€μ λ‘ μ°λ¦¬μκ² μν₯μ λ―ΈμΉμ§ μμ μ μμΌλ―λ‘ μ¬μ ν μ‘°μ¬ μ€μ λλ€ :) κ°μ¬ν©λλ€. κ·Έ μΈμΉ¨μ μν΄!
κ΅μ°¨ iframe DnD λλ μμ μ°½μμ νμ iframe λλκ·Έ κ°λ₯μ±μ λν λ°±μλκ° μ¬μ ν μμ΅λλ€. @gaearon λͺ μ€λ λμμ μ΄ λ¬Έμ μ λν κ·νμ μ견μ 보μμ΅λλ€. μ΄κ²μ΄ μ κ° λ΄ νλ‘μ νΈμ μμ js μ루μ μ μ¬μ©ν΄μΌ νλ μ μΌν μ΄μ λΌκ³ λ§νκ³ μΆμ΅λλ€.
(νΈμ§) μ΄κ²μ λλκ·Έ μ€ λλ‘ νμ΄μ§ λΉλλ₯Ό ꡬμΆνλ €λ λͺ¨λ μ¬λμκ² μ λ§ μ μ©ν κΈ°λ₯μ΄λΌκ³ μκ°ν©λλ€.
κ°μ₯ μ μ©ν λκΈ
λλκ·Έ μ€ λλ‘μ μ¬μ©νλ λͺ¨λ μ₯μμ λν΄ Asana μΉ μ ν리μΌμ΄μ μμ React DnDλ₯Ό μ¬μ©ν©λλ€. νμ¬ μ¬λ΄ Luna νλ μμν¬μμ Reactλ‘ μ ν리μΌμ΄μ μ λ€μ μμ±νκ³ μμΌλ©° λλκ·Έ μ€ λλ‘μ μ¬μ©νλ λͺ¨λ μμΉμμ λ€μ μμ±νλ λμ React DnDλ₯Ό μ¬μ©νκ³ μμ΅λλ€.
μ°λ¦¬λ λ§€μ° μ μ©νλ€λ κ²μ μμμ΅λλ€. APIλ μμ νκΈ° μ½κ³ λλκ·Έ μ€ λλ‘μ λͺ κ°μ§ κ΅¬μ± μμμ ν¬ν¨νμ¬ λ¬Έμ λ₯Ό λͺ ννκ² κ΅¬λΆν μ μμ΅λλ€.
μ΄κΈ° λ¨ν μ μΈμλ μ’ μ’ λ¬Έμ κ° λ°μνμ§ μμ΅λλ€. μ°λ¦¬λ TypeScriptμ ν¨κ» React DnDλ₯Ό μ¬μ©νλ©°, μ ν μ μλ₯Ό μμ±νλ κ²μ΄ μ°λ¦¬λ₯Ό μν λ¨νμ κΈ°κ°μ λ¨μΆμμΌ°λ€κ³ μκ°ν©λλ€(νλ‘μΈμ€μμ μ 체 APIλ₯Ό νμν΄μΌ νκΈ° λλ¬Έμ). μ΄μ μ°λ¦¬μ λ¬Έμ λ μΌλ°μ μΌλ‘ ν μ€νΈμ κ΄ν κ²μ λλ€(μ: ν μ€νΈ κ° μ 리, dnd-decorated κ΅¬μ± μμλ‘ μμ νλ μ¬λ΄ λμ°λ―Έ λ±). μ΄κ²μ λλλ‘ μ’μ κ°μ μ£ΌκΈ°λ νμ§λ§, μ΄μ λ μ¬μ©ν λ²μ© κ΅¬μ± μμλ λ―Έλ κ΅¬μ± μμμ κΈ°λ°μ΄ λλ μμ κ΅¬μ± μμκ° μμΌλ―λ‘ λ κ·Έλ μ΅λλ€.
μ±λ₯, κ΄μ¬μ¬ λΆλ¦¬, ν μ€νΈ κ°λ₯μ±