React-dnd: λˆ„κ°€ React DnDλ₯Ό μ‚¬μš©ν•©λ‹ˆκΉŒ?

에 λ§Œλ“  2016λ…„ 02μ›” 17일  Β·  35μ½”λ©˜νŠΈ  Β·  좜처: react-dnd/react-dnd

μ§€λ‚œ 주에 λ§Žμ€ 문제λ₯Ό ν•΄κ²°ν•˜κ³  λͺ‡ 가지 릴리슀λ₯Ό λ‚΄λ†“μ•˜μ§€λ§Œ μ‚¬μš©μž μš”κ΅¬ 사항을 μ΄ν•΄ν•˜λŠ” 것과 λ³„κ°œλ‘œ 이 μž‘μ—…μ„ μˆ˜ν–‰ν•˜λŠ” 것은 μ–΄λ ΅μŠ΅λ‹ˆλ‹€. 이 ν”„λ‘œμ νŠΈμ—λŠ” λ§Žμ€ 별이 μžˆμ§€λ§Œ λ¬Έμ œκ°€ μžˆμ„ λ•Œ μ–Όλ§ˆλ‚˜ λ§Žμ€ μ‚¬λžŒλ“€μ—κ²Œ 영ν–₯을 미치고 더 λ§Žμ€ ν’€ λ¦¬ν€˜μŠ€νŠΈλ₯Ό 받지 λͺ»ν•˜λŠ”지 λ§ν•˜κΈ° μ–΄λ ΅μŠ΅λ‹ˆλ‹€.

μ½”λ“œλ² μ΄μŠ€λŠ” λ¬Έμ„œν™”λ˜μ§€ μ•Šμ•˜μœΌλ©° μ™ΈλΆ€μΈμ—κ²Œ μœ„ν˜‘μ μΌ 수 μžˆμŠ΅λ‹ˆλ‹€. 이것이 μš°λ¦¬κ°€ μˆ˜μ • 사항에 λŒ€ν•œ 더 λ§Žμ€ ν’€ μš”μ²­μ„ 받지 λͺ»ν•˜λŠ” μ΄μœ μž…λ‹ˆκΉŒ? μ•„λ‹ˆλ©΄ 별이 μ΄λ„λŠ” λŒ€λ‘œ ν”„λ‘œμ νŠΈκ°€ 널리 μ‚¬μš©λ˜μ§€ μ•ŠκΈ° λ•Œλ¬Έμž…λ‹ˆκΉŒ?

React DnDλ₯Ό μ‚¬μš©ν•˜λŠ” ν˜„μž¬ μ‚¬μš©μžμ—κ²Œ μ—¬κΈ°μ—μ„œ λͺ‡ λ§ˆλ””λ§Œ λΆ€νƒλ“œλ¦¬κ³  μ‹ΆμŠ΅λ‹ˆλ‹€.

  • μ–΄λ–€ μ œν’ˆμ—μ„œ React DnDλ₯Ό μ‚¬μš©ν•˜κ³  μžˆμŠ΅λ‹ˆκΉŒ?
  • μ–Όλ§ˆλ‚˜ μœ μš©ν•©λ‹ˆκΉŒ?
  • λ¬Έμ œκ°€ μ–Όλ§ˆλ‚˜ 자주 λ°œμƒν•˜λ©° μ–Όλ§ˆλ‚˜ μ‹€λ§μŠ€λŸ½μŠ΅λ‹ˆκΉŒ?
  • μ–΄λ–€ κΈ°λŠ₯에 관심이 μžˆμŠ΅λ‹ˆκΉŒ?
  • μ œν’ˆμ˜ μŠ€ν¬λ¦°μƒ· λͺ‡ 개λ₯Ό 첨뢀할 수 μžˆμŠ΅λ‹ˆκΉŒ?

이것은 이 ν”„λ‘œμ νŠΈκ°€ μƒνƒœκ³„μ— μ–΄λ–»κ²Œ λ“€μ–΄λ§žλŠ”μ§€, 그리고 λ‚΄ μ—¬κ°€ μ‹œκ°„ 쀑 μ–΄λŠ 정도λ₯Ό ν• λ‹Ήν•  κ°€μΉ˜κ°€ μžˆλŠ”μ§€ μ΄ν•΄ν•˜λŠ” 데 도움이 될 κ²ƒμž…λ‹ˆλ‹€. 감사 ν•΄μš”!

announcement

κ°€μž₯ μœ μš©ν•œ λŒ“κΈ€

μ–΄λ–€ μ œν’ˆμ—μ„œ React DnDλ₯Ό μ‚¬μš©ν•˜κ³  μžˆμŠ΅λ‹ˆκΉŒ?

λ“œλž˜κ·Έ μ•€ λ“œλ‘­μ„ μ‚¬μš©ν•˜λŠ” λͺ¨λ“  μž₯μ†Œμ— λŒ€ν•΄ Asana μ›Ή μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ—μ„œ React DnDλ₯Ό μ‚¬μš©ν•©λ‹ˆλ‹€. ν˜„μž¬ 사내 Luna ν”„λ ˆμž„μ›Œν¬μ—μ„œ React둜 μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ„ λ‹€μ‹œ μž‘μ„±ν•˜κ³  있으며 λ“œλž˜κ·Έ μ•€ λ“œλ‘­μ„ μ‚¬μš©ν•˜λŠ” λͺ¨λ“  μœ„μΉ˜μ—μ„œ λ‹€μ‹œ μž‘μ„±ν•˜λŠ” λ™μ•ˆ React DnDλ₯Ό μ‚¬μš©ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€.

μ–Όλ§ˆλ‚˜ μœ μš©ν•©λ‹ˆκΉŒ?

μš°λ¦¬λŠ” 맀우 μœ μš©ν•˜λ‹€λŠ” 것을 μ•Œμ•˜μŠ΅λ‹ˆλ‹€. APIλŠ” μž‘μ—…ν•˜κΈ° 쉽고 λ“œλž˜κ·Έ μ•€ λ“œλ‘­μ„ λͺ‡ 가지 ꡬ성 μš”μ†Œμ— ν¬ν•¨ν•˜μ—¬ 문제λ₯Ό λͺ…ν™•ν•˜κ²Œ ꡬ뢄할 수 μžˆμŠ΅λ‹ˆλ‹€.

λ¬Έμ œκ°€ μ–Όλ§ˆλ‚˜ 자주 λ°œμƒν•˜λ©° μ–Όλ§ˆλ‚˜ μ‹€λ§μŠ€λŸ½μŠ΅λ‹ˆκΉŒ?

초기 λž¨ν”„ μ—… μ™Έμ—λŠ” μ’…μ’… λ¬Έμ œκ°€ λ°œμƒν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. μš°λ¦¬λŠ” TypeScript와 ν•¨κ»˜ React DnDλ₯Ό μ‚¬μš©ν•˜λ©°, μœ ν˜• μ •μ˜λ₯Ό μž‘μ„±ν•˜λŠ” 것이 우리λ₯Ό μœ„ν•œ λž¨ν”„μ—… 기간을 λ‹¨μΆ•μ‹œμΌ°λ‹€κ³  μƒκ°ν•©λ‹ˆλ‹€(ν”„λ‘œμ„ΈμŠ€μ—μ„œ 전체 APIλ₯Ό 탐색해야 ν–ˆκΈ° λ•Œλ¬Έμ—). 이제 우리의 λ¬Έμ œλŠ” 일반적으둜 ν…ŒμŠ€νŠΈμ— κ΄€ν•œ κ²ƒμž…λ‹ˆλ‹€(예: ν…ŒμŠ€νŠΈ κ°„ 정리, dnd-decorated ꡬ성 μš”μ†Œλ‘œ μž‘μ—…ν•˜λŠ” 사내 λ„μš°λ―Έ λ“±). 이것은 λ•Œλ•Œλ‘œ μ’Œμ ˆκ°μ„ 주기도 ν•˜μ§€λ§Œ, μ΄μ œλŠ” μ‚¬μš©ν•  λ²”μš© ꡬ성 μš”μ†Œλ‚˜ 미래 ꡬ성 μš”μ†Œμ˜ 기반이 λ˜λŠ” 예제 ꡬ성 μš”μ†Œκ°€ μžˆμœΌλ―€λ‘œ 덜 κ·Έλ ‡μŠ΅λ‹ˆλ‹€.

μ–΄λ–€ κΈ°λŠ₯에 관심이 μžˆμŠ΅λ‹ˆκΉŒ?

μ„±λŠ₯, 관심사 뢄리, ν…ŒμŠ€νŠΈ κ°€λŠ₯μ„±

μ œν’ˆμ˜ μŠ€ν¬λ¦°μƒ· λͺ‡ 개λ₯Ό 첨뢀할 수 μžˆμŠ΅λ‹ˆκΉŒ?

Drag to subtask
Dashboards

λͺ¨λ“  35 λŒ“κΈ€

  • ν”„λ‘œμ νŠΈ: https://github.com/WikiEducationFoundation/WikiEduDashboard
  • μœ μš©μ„±: 맀우
  • 문제: μƒνƒœ 기반 μ• λ‹ˆλ©”μ΄μ…˜μ΄ κ°€μž₯ μ–΄λ €μš΄ λΆ€λΆ„μ΄μ—ˆμŠ΅λ‹ˆλ‹€. λ‚˜λŠ” λ°˜μ‘ λͺ¨μ…˜κ³Ό λ°˜μ‘ CSS μ „ν™˜ 그룹의 μ‘°ν•©μœΌλ‘œ λλ‚¬μŠ΅λ‹ˆλ‹€. 그런 λ‹€μŒ μ• λ‹ˆλ©”μ΄μ…˜ 도쀑에 놓기 λŒ€μƒμ΄ λ˜λŠ” 것을 λ°©μ§€ν•˜κΈ° μœ„ν•΄ μ• λ‹ˆλ©”μ΄μ…˜ 쀑간에 μžˆλŠ” ν•­λͺ©μ— λŒ€ν•œ μΆ”κ°€ μƒνƒœλ₯Ό 관리해야 ν–ˆμŠ΅λ‹ˆλ‹€. λ‚˜λŠ” https://github.com/yahoo/react-dnd-touch-backend λ₯Ό μ‚¬μš©ν•˜κ²Œ λ˜μ—ˆκ³  자체 문제(λ“œλž˜κ·Έ 쀑에 μ„ νƒλ˜λŠ” ν…μŠ€νŠΈ)κ°€ μžˆμ—ˆμ§€λ§Œ μ• λ‹ˆλ©”μ΄μ…˜ _쀑_ μ œμ–΄κ°€ 더 μš©μ΄ν–ˆμŠ΅λ‹ˆλ‹€. λ‚˜λŠ” μ•„λ§ˆλ„ 이 κΈ°λŠ₯κ³Ό μ• λ‹ˆλ©”μ΄μ…˜μ„ μ˜¬λ°”λ₯΄κ²Œ λ§Œλ“œλŠ” 데 ~4일의 μž‘μ—…μΌμ„ λ³΄λƒˆμ„ κ²ƒμž…λ‹ˆλ‹€. 이것은 μ•„λ§ˆλ„ non-react μ•±μ—μ„œ 훨씬 더 적은 μ‹œκ°„μ΄ 걸렸을 κ²ƒμž…λ‹ˆλ‹€.

feb 17 2016 07 34

__- μ–΄λ–€ μ œν’ˆμ—μ„œ React DnDλ₯Ό μ‚¬μš©ν•˜κ³  μžˆμŠ΅λ‹ˆκΉŒ?_

λ‹€μ–‘ν•œ μ•±(Kanban λ³΄λ“œ, LOB(Line of Business) μ• ν”Œλ¦¬μΌ€μ΄μ…˜)μ—μ„œ μ‚¬μš©ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€.

__- μ–Όλ§ˆλ‚˜ μœ μš©ν•©λ‹ˆκΉŒ?_

React DnDλ₯Ό μ‚¬μš©ν•˜κΈ° 전에 λ‚˜λŠ” react 및 jquery 기반 λͺ¨λ‘μ—μ„œ 찾을 수 μžˆλŠ” λͺ¨λ“  DnD μ†”λ£¨μ…˜μ„ μ‹œλ„ν–ˆκ³  React DnDλŠ” 훨씬 μ•žμ„œ λ‚˜μ™”μŠ΅λ‹ˆλ‹€.

__- μ–Όλ§ˆλ‚˜ 자주 λ¬Έμ œκ°€ λ°œμƒν•˜λ©° μ–Όλ§ˆλ‚˜ μ‹€λ§μŠ€λŸ½μŠ΅λ‹ˆκΉŒ?_

1.0 μ΄ν›„λ‘œ λ¬Έμ œκ°€ λ°œμƒν•˜μ§€ μ•Šμ•˜μŠ΅λ‹ˆλ‹€. λ‚΄ μ œν’ˆμ—μ„œ μ΅œμ‹  λΈŒλΌμš°μ €λ§Œ μ§€μ›ν•œλ‹€λŠ” 점은 μ£Όλͺ©ν•  κ°€μΉ˜κ°€ μžˆμŠ΅λ‹ˆλ‹€.

__- μ–΄λ–€ κΈ°λŠ₯에 관심이 μžˆμŠ΅λ‹ˆκΉŒ?_

μ €λŠ” λͺ¨λ“  κΈ°λŠ₯을 λ‹€μ–‘ν•œ μ˜μ—­μ—μ„œ λ‹€μ–‘ν•œ μ‘°ν•©μœΌλ‘œ μ‚¬μš©ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€.

__- μ œν’ˆμ˜ μŠ€ν¬λ¦°μƒ· λͺ‡ μž₯을 첨뢀할 수 μžˆμŠ΅λ‹ˆκΉŒ?_

image

μ–΄μ œ 개인 ν”„λ‘œμ νŠΈμ™€ ν†΅ν•©ν–ˆλŠ”λ°(μ§€κΈˆμ€ 화면을 μ œκ³΅ν•  수 μ—†μŠ΅λ‹ˆλ‹€. μ£„μ†‘ν•©λ‹ˆλ‹€.) κΈ°μ‘΄ λ¬Έμ„œκ°€ ν›Œλ₯­ν•˜λ‹€λŠ” 것을 μ•Œμ•˜μŠ΅λ‹ˆλ‹€. μ ‘κ·Ό 방식은 λͺ…ν™•ν•˜κ³  μ΄ν•΄ν•˜κΈ° 쉽고 보강이 κ°„λ‹¨ν•˜κ³  μ „λ°˜μ μœΌλ‘œ μΉœμˆ™ν•©λ‹ˆλ‹€.

μ†”μ§νžˆ ν‚€νŠΈμ— λ¬Έμ œκ°€ λ°œμƒν•œ 적은 μ—†μŠ΅λ‹ˆλ‹€. μ €λŠ” κ·Έ λ‹¨μˆœν•¨μ΄ κ°€μž₯ 큰 κΈ°λŠ₯이라고 μƒκ°ν•˜λ©°, 이λ₯Ό μ‚¬μš©ν•˜μ—¬ HOC와 같은 λͺ¨λ²” 사둀λ₯Ό 지ν–₯ν•˜λŠ” μ‚¬λžŒλ“€μ„ κ²©λ €ν•©λ‹ˆλ‹€.

μ–΄λ–€ μ œν’ˆμ—μ„œ React DnDλ₯Ό μ‚¬μš©ν•˜κ³  μžˆμŠ΅λ‹ˆκΉŒ?

Treasure Data의 μƒˆλ‘œμš΄ μ›Ή μ½˜μ†”μ—μ„œ μ‚¬μš©ν•©λ‹ˆλ‹€. 개인 ν”„λ‘œμ νŠΈμ—λ„ μ‚¬μš©ν–ˆμŠ΅λ‹ˆλ‹€.

μ–Όλ§ˆλ‚˜ μœ μš©ν•©λ‹ˆκΉŒ?

ꡉμž₯히 μœ μš©ν•˜λ‹€. λ‚΄κ°€ μ‚¬μš©ν•œ 졜고의 λ“œλž˜κ·Έ μ•€ λ“œλ‘­ λΌμ΄λΈŒλŸ¬λ¦¬μž…λ‹ˆλ‹€. μ •κ΅ν•œ λ“œλž˜κ·Έ μ•€ λ“œλ‘­ μƒν˜Έ μž‘μš©μ„ μ‰½κ²Œ κ΅¬ν˜„ν•˜λŠ” 데 μ‚¬μš©ν•  수 μžˆλ‹€κ³  ν™•μ‹ ν•©λ‹ˆλ‹€.

λ¬Έμ œκ°€ μ–Όλ§ˆλ‚˜ 자주 λ°œμƒν•˜λ©° μ–Όλ§ˆλ‚˜ μ‹€λ§μŠ€λŸ½μŠ΅λ‹ˆκΉŒ?

라이브러리λ₯Ό μ‚¬μš©ν•  λ•Œλ§ˆλ‹€ 이 λͺ¨λ“  것이 μ–΄λ–»κ²Œ κ²°ν•©λ˜λŠ”μ§€ κΈ°μ–΅ν•˜λŠ” 데 μ‹œκ°„μ΄ κ±Έλ¦½λ‹ˆλ‹€. 각 뢀뢄은 μ–΄λ””λ‘œ κ°€κ³  무엇을 ν•©λ‹ˆκΉŒ? 이것은 μ—¬λŸ¬ 번 μ‚¬μš©ν•œ 후에도 λ°œμƒν•©λ‹ˆλ‹€.

μ•„λ§ˆλ„ λͺ¨λ“  뢀뢄을 λ³΄μ—¬μ£ΌλŠ” μ‹œκ°ν™”κ°€ 있으면 κΈ°μ–΅ν•˜κΈ°κ°€ 더 μ‰¬μšΈ κ²ƒμž…λ‹ˆλ‹€.

μ „λ°˜μ μœΌλ‘œ λ„μ„œκ΄€μ€ λ‚΄κ°€ ν•΄μ•Ό ν•  λͺ¨λ“  일을 ν•˜λŠ” 것 κ°™μŠ΅λ‹ˆλ‹€.

μ–΄λ–€ κΈ°λŠ₯에 관심이 μžˆμŠ΅λ‹ˆκΉŒ?

ν…ŒμŠ€νŠΈ κ°€λŠ₯μ„±! λ“œλž˜κ·Έ μ•€ λ“œλ‘­μ— λŒ€ν•œ λ‚˜μ˜ 이전 κ²½ν—˜μ€ λ‹€μ†Œ 쒋지 μ•Šμ•˜μœΌλ©° 아무도 λ“œλž˜κ·Έ μ•€ λ“œλ‘­ κ΄€λ ¨ μ½”λ“œλ₯Ό ν…ŒμŠ€νŠΈν•˜μ§€ μ•Šμ•˜μŠ΅λ‹ˆλ‹€.

λͺ¨λ°”일 지원은 ν•΄λ³Έ 적이 μ—†μ§€λ§Œ λ°μŠ€ν¬νƒ‘κ³Ό λͺ¨λ°”일을 μ–΄λ–»κ²Œ λŒ€μƒμœΌλ‘œ ν•΄μ•Ό 할지 λͺ¨λ₯΄κ² μŠ΅λ‹ˆλ‹€.

λ‚˜λŠ” react-dnd-touch-backend λ₯Ό λ³΄μ•˜μ§€λ§Œ λ‘˜μ„ μ–΄λ–»κ²Œ ν˜Όν•©ν• μ§€ λͺ¨λ₯΄κ² μŠ΅λ‹ˆλ‹€.

μ œν’ˆμ˜ μŠ€ν¬λ¦°μƒ· λͺ‡ 개λ₯Ό 첨뢀할 수 μžˆμŠ΅λ‹ˆκΉŒ?

https://gfycat.com/ScientificEvilAmericanbadger

이것은 기본적으둜 κ·Έλƒ₯ 놀고 μžˆλŠ” κ²ƒμž…λ‹ˆλ‹€. react-dndλ₯Ό μ‚¬μš©ν•˜λ©΄ 파일 λ“œλ‘­ μ˜μ—­μ„ μ‰½κ²Œ κ΅¬ν˜„ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

μ–΄λ–€ μ œν’ˆμ—μ„œ React DnDλ₯Ό μ‚¬μš©ν•˜κ³  μžˆμŠ΅λ‹ˆκΉŒ?

codecks.ioλŠ” 아직 개발 μ€‘μ΄μ§€λ§Œ 초기 μ•‘μ„ΈμŠ€μ— κ°€κΉμŠ΅λ‹ˆλ‹€.

μ–Όλ§ˆλ‚˜ μœ μš©ν•©λ‹ˆκΉŒ?

많이. λΈŒλΌμš°μ € λ™μž‘μ„ μ •μƒν™”ν•˜κ³  dnd에 λŒ€ν•œ λ°˜μ‘ μ ‘κ·Ό 방식을 μ œκ³΅ν•˜λ©΄ 이 라이브러리λ₯Ό μ‰½κ²Œ 생각할 수 μžˆμŠ΅λ‹ˆλ‹€.

λ¬Έμ œκ°€ μ–Όλ§ˆλ‚˜ 자주 λ°œμƒν•˜λ©° μ–Όλ§ˆλ‚˜ μ‹€λ§μŠ€λŸ½μŠ΅λ‹ˆκΉŒ?

λ¬Έμ„œλŠ” ν›Œλ₯­ν•˜μ§€λ§Œ μž‘μ—…μ„ μ‹œμž‘ν•  λ•Œ 였λ₯˜ λ©”μ‹œμ§€ 없이 μž‘λ™ν•˜μ§€ μ•ŠλŠ” λ†€λΌμš΄ λ¬Έμ œμ— λΆ€λ”ͺμ³€μŠ΅λ‹ˆλ‹€. μ•ˆμ •μ μœΌλ‘œ μž¬ν˜„ν•  수 μ—†μ—ˆμ§€λ§Œ μ•„λ§ˆλ„ 높이가 0인 λ“œλž˜κ·Έ λŒ€μƒκ³Ό 관련이 μžˆμ—ˆμ„ κ²ƒμž…λ‹ˆλ‹€.

μ–΄λ–€ κΈ°λŠ₯에 관심이 μžˆμŠ΅λ‹ˆκΉŒ?

λΈŒλΌμš°μ € μ •κ·œν™”, ν„°μΉ˜ μƒν˜Έ μž‘μš© 지원

μ œν’ˆμ˜ μŠ€ν¬λ¦°μƒ· λͺ‡ 개λ₯Ό 첨뢀할 수 μžˆμŠ΅λ‹ˆκΉŒ?

https://gfycat.com/CleanLegitimateAracari

μ €λŠ” 의료 μ˜μƒ 기둝 λ³΄κ΄€μ†Œλ₯Ό μœ„ν•œ 검색 μ—”μ§„μ˜ 박사 κ³Όμ •μ—μ„œ React DnDλ₯Ό μ‚¬μš©ν–ˆμŠ΅λ‹ˆλ‹€. 검색 κ²°κ³Όλ₯Ό λ“œλž˜κ·Έν•˜μ—¬ 쿼리의 일뢀가 λ˜λ„λ‘ ν•  수 μžˆμŠ΅λ‹ˆλ‹€(μœ μ‚¬ν•œ 이미지 생성). 이런 λΌμ΄λΈŒλŸ¬λ¦¬κ°€ μ—†μ—ˆλ‹€λ©΄ HTML5 APIλ₯Ό μ—‰λ§μœΌλ‘œ λ§Œλ“€κ³  React와 ν•¨κ»˜ 잘 μž‘λ™ν•˜λŠ”μ§€ 확인해야 ν–ˆμ„ κ²ƒμž…λ‹ˆλ‹€. 더 μ€‘μš”ν•œ λ¬Έμ œμ— 집쀑할 수 μžˆλŠ” λͺ¨λ“  것이 κΈˆμž…λ‹ˆλ‹€!

λ‚˜λŠ” μ‹¬κ°ν•œ λ¬Έμ œκ°€ μ—†μ—ˆμ§€λ§Œ 0.xμ—μ„œ 1.x둜의 μ „ν™˜μ€ 맀우 ν˜Όλž€μŠ€λŸ½κ³  dist νƒœκ·Έκ°€ μ œλŒ€λ‘œ μ‚¬μš©λ˜μ§€ μ•Šμ€ 쒋은 μ˜ˆμž…λ‹ˆλ‹€(1.0.0-rcλŠ” μ—…λ°μ΄νŠΈ 없이 latest 둜 μΆœμ‹œλ˜μ—ˆμŠ΅λ‹ˆλ‹€. 선적 μ„œλ₯˜ λΉ„μΉ˜). μ–΄μ¨Œλ“  이것은 닀리 μ•„λž˜μ˜ λͺ¨λ“  λ¬Όμž…λ‹ˆλ‹€. :)

1.0.0-rcλŠ” μ—…λ°μ΄νŠΈλœ λ¬Έμ„œ 없이 μ΅œμ‹  λ²„μ „μœΌλ‘œ μΆœμ‹œλ˜μ—ˆμŠ΅λ‹ˆλ‹€.

λ„€, dist-tagκ°€ μ–΄λ–»κ²Œ μž‘λ™ν•˜λŠ”μ§€ 배우기 μ „μ΄μ—ˆμŠ΅λ‹ˆλ‹€. :기쁨:

μ–΄λ–€ μ œν’ˆμ—μ„œ React DnDλ₯Ό μ‚¬μš©ν•˜κ³  μžˆμŠ΅λ‹ˆκΉŒ?

λ“œλž˜κ·Έ μ•€ λ“œλ‘­ μƒν˜Έ μž‘μš©μ΄ λ§Žμ€ ν΄λΌμ΄μ–ΈνŠΈ ν”„λ‘œμ νŠΈμ— μ‚¬μš©ν•©λ‹ˆλ‹€. μ£Όλͺ©ν• λ§Œν•œ ꡬ성 μš”μ†ŒλŠ” λ‹€μŒκ³Ό κ°™μŠ΅λ‹ˆλ‹€.

  • λ…Έλ“œλ₯Ό μ •λ ¬ν•˜κ³  쀑첩할 수 μžˆλŠ” 트리 보기
  • Trello와 μœ μ‚¬ν•œ λͺ©λ‘/μΉ΄λ“œ λ³΄κΈ°λŠ” μ •λ ¬λ§Œ μ§€μ›ν•©λ‹ˆλ‹€.

λ˜ν•œ ν˜‘μ—… 도ꡬ이기 λ•Œλ¬Έμ— λŒ€λΆ€λΆ„μ˜ μΈν„°νŽ˜μ΄μŠ€ μ—…λ°μ΄νŠΈκ°€ μ†ŒμΌ“ μ„œλ²„λ‘œ μ „λ‹¬λ©λ‹ˆλ‹€.

μ–Όλ§ˆλ‚˜ μœ μš©ν•©λ‹ˆκΉŒ?

맀우 μœ μš©ν•©λ‹ˆλ‹€. ꡬ성 μš”μ†Œμ—μ„œ λ“œλž˜κ·Έ 논리λ₯Ό λΆ„λ¦¬ν•˜κ³  κ°œλ³„μ μœΌλ‘œ ν…ŒμŠ€νŠΈν•˜λŠ” 것은 맀우 μ‰½μŠ΅λ‹ˆλ‹€.

λ¬Έμ œκ°€ μ–Όλ§ˆλ‚˜ 자주 λ°œμƒν•˜λ©° μ–Όλ§ˆλ‚˜ μ‹€λ§μŠ€λŸ½μŠ΅λ‹ˆκΉŒ?

내포와 정렬을 μ§€μ›ν•˜λŠ” νŠΈλ¦¬λ·°λŠ” λ§Žμ€ λ¬Έμ œμ— 직면해 μžˆλŠ”λ°,

μš°λ¦¬κ°€ κ²½ν—˜ν•œ 더 큰 문제 쀑 ν•˜λ‚˜λŠ” 쀑첩 및 정렬을 μ§€μ›ν•˜λŠ” 트리 보기λ₯Ό κ΅¬ν˜„ν•˜λŠ” κ²ƒμ΄μ—ˆμŠ΅λ‹ˆλ‹€.

λ‹€μ–‘ν•œ μœ ν˜•μ˜ λ…Έλ“œ(폴더, λͺ©λ‘)κ°€ μžˆμŠ΅λ‹ˆλ‹€. μ‚¬μš©μžλŠ” 폴더에 무언가λ₯Ό λ†“μœΌλ©΄ μ€‘μ²©λ˜κ±°λ‚˜ λ‹€λ₯Έ λ…Έλ“œ μ•„λž˜ λ˜λŠ” μœ„μ— μ •λ ¬λ©λ‹ˆλ‹€. 이 μƒν˜Έ μž‘μš©μ—λŠ” κΉœλ°•μž„μ΄ 많이 λ°œμƒν•˜κ³  일뢀 버그가 있으며 λ•Œλ•Œλ‘œ μ„±λŠ₯이 μ €ν•˜λ©λ‹ˆλ‹€. 이 λΉ„λ””μ˜€ μ°Έμ‘°: http://s.2to1.be/fAtX ,

μž‘λ™ 방식은 λ‹€μŒκ³Ό κ°™μŠ΅λ‹ˆλ‹€.

  1. μ‚¬μš©μžκ°€ λ…Έλ“œλ₯Ό 끌기 μ‹œμž‘ν•˜λ©΄ λ…Έλ“œκ°€ ν•΄λ‹Ή μœ„μΉ˜μ— μœ μ§€λ©λ‹ˆλ‹€.
  2. μ‚¬μš©μžκ°€ λ…Έλ“œ μœ„λ‘œ 마우슀λ₯Ό 이동 -> μƒˆ μœ„μΉ˜μ˜ ν‘œμ‹œκΈ°λ₯Ό ν‘œμ‹œν•˜λ©΄ 이 μœ„μΉ˜κ°€ redux μž‘μ—…μœΌλ‘œ μ „λ‹¬λ©λ‹ˆλ‹€. (전체 νŠΈλ¦¬λŠ” μ• ν”Œλ¦¬μΌ€μ΄μ…˜ μƒνƒœμ˜ μΌλΆ€μž…λ‹ˆλ‹€).
  3. μ‚¬μš©μžλŠ” μ„œλ²„μ—μ„œ λ…Έλ“œμ˜ μƒˆ μœ„μΉ˜λ₯Ό μœ μ§€ν•˜κ³  μ—°κ²°λœ λͺ¨λ“  μ†ŒμΌ“ ν΄λΌμ΄μ–ΈνŠΈμ— μ „μ†‘ν•˜λŠ” μž‘μ—…μ„ μ „λ‹¬ν•˜λŠ” λ“œλž˜κ·Έλ₯Ό μ’…λ£Œν•©λ‹ˆλ‹€.

ν˜„μž¬ μš°λ¦¬λŠ” λ…Έλ“œκ°€ 폴더 μœ„/μ•„λž˜/μœ„μ— μžˆλŠ”μ§€ μ—¬λΆ€λ₯Ό κ³„μ‚°ν•˜κΈ° μœ„ν•΄ 일뢀 μˆ˜ν•™(이 λ¦¬ν¬μ§€ν† λ¦¬μ˜ μ •λ ¬ κ°€λŠ₯ν•œ 예제의 λ³€ν˜•)을 μ‚¬μš©ν•©λ‹ˆλ‹€. μ²˜μŒμ—λŠ” Folder ꡬ성 μš”μ†Œλ₯Ό DropTarget 둜 λ§Œλ“€λ €κ³  ν–ˆμ§€λ§Œ μž‘λ™ν•˜μ§€ μ•Šμ•„ λ‹€λ₯Έ Node DropTarget λ₯Ό μ •λ ¬ν•  수 μ—†μ—ˆμŠ΅λ‹ˆλ‹€.

μ–΄λ–€ κΈ°λŠ₯에 관심이 μžˆμŠ΅λ‹ˆκΉŒ?

  • ν…ŒμŠ€νŠΈ κ°€λŠ₯μ„±
  • λ°±μ—”λ“œ μ „ν™˜
  • μ΄λ²€νŠΈμ— μ—°κ²°
  • λΈŒλΌμš°μ € 지원

μ œν’ˆμ˜ μŠ€ν¬λ¦°μƒ· λͺ‡ 개λ₯Ό 첨뢀할 수 μžˆμŠ΅λ‹ˆκΉŒ?

μœ„μ˜ λ™μ˜μƒμ„ μ°Έμ‘°ν•˜μ„Έμš”

μ§€λ‚œ 주에 (아직 μΆœμ‹œλ˜μ§€ μ•Šμ€) ꡐ윑 μ›Ή 앱에 react-dndλ₯Ό μΆ”κ°€ν–ˆμŠ΅λ‹ˆλ‹€. λ†€λžλ‹€! μž‘μ—…μ— κ°μ‚¬λ“œλ¦½λ‹ˆλ‹€!

κ°€μž₯ 큰 승리 IMOλŠ” react-dndκ°€ 전체 μ•±μ—μ„œ DnD κΈ°λŠ₯을 κ΄€λ¦¬ν•˜κΈ° μœ„ν•œ μ μ ˆν•œ μˆ˜μ€€μ˜ 좔상화λ₯Ό μ œκ³΅ν•œλ‹€λŠ” κ²ƒμž…λ‹ˆλ‹€.

λΆ„λ¦¬λœ 단일 크기의 λͺ¨λ“  λ“œλž˜κ·Έ ꡬ성 μš”μ†Œ(μ •λ ¬ κ°€λŠ₯ λ“±)의 μ–΄μƒ‰ν•œ 쑰합을 버릴 β€‹β€‹μˆ˜ μžˆλŠ” 것 외에도 μ΄μ „μ—λŠ” λ„ˆλ¬΄ λ³΅μž‘ν•˜λ‹€κ³  μƒκ°ν–ˆλ˜ λ“œλž˜κ·Έ 기반 κΈ°λŠ₯을 λͺ‡ μ‹œκ°„ λ§Œμ— μΆ”κ°€ν•  수 μžˆμ—ˆμŠ΅λ‹ˆλ‹€. κ·Έλ§Œν•œ κ°€μΉ˜κ°€ μžˆμŠ΅λ‹ˆλ‹€(예: μΉ΄λ“œλ₯Ό λŒμ–΄ λͺ©λ‘ λ‚΄μ—μ„œ μž¬μ •λ ¬ν•˜κ±°λ‚˜ μ‚¬μš©μž λͺ©λ‘ μ•„μ΄μ½˜μœΌλ‘œ λŒμ–΄ μ‚¬μš©μž λͺ©λ‘μ„ ν‘œμ‹œν•œ λ‹€μŒ μ μ ˆν•œ μ‚¬μš©μžμ—κ²Œ 놓기).

μ§€κΈˆκΉŒμ§€ λ‚΄κ°€ κ²ͺμ—ˆλ˜ μœ μΌν•œ λ¬Έμ œλŠ” ν„°μΉ˜ λ°±μ—”λ“œμ— μžˆμ—ˆμŠ΅λ‹ˆλ‹€. κ·ΈλŸ¬λ‚˜ λΉ λ₯΄κ²Œ μ§„ν–‰ν•˜κΈ° μœ„ν•΄ 해킹을 ν•  수 μžˆμ—ˆκ³  λˆ„κ΅°κ°€κ°€ 더 일반적인 ν’€ λ¦¬ν€˜μŠ€νŠΈλ₯Ό μž‘μ—… 쀑이라고 λŒ“κΈ€μ„ λ‚¨κ²ΌμŠ΅λ‹ˆλ‹€.

이미 멋진 APIλ₯Ό κ³ λ €ν•  λ•Œ λ‚΄κ°€ 신경을 μ“°λŠ” μ£Όμš” κΈ°λŠ₯은 κ²¬κ³ ν•œ ν„°μΉ˜ μ§€μ›μž…λ‹ˆλ‹€.

개인적으둜 μ˜€ν”ˆ μ†ŒμŠ€ ν”„λ‘œμ νŠΈμ— λŒ€ν•΄ ν’€ λ¦¬ν€˜μŠ€νŠΈλ₯Ό ν•˜μ§€ μ•ŠλŠ” 이유(μ–΄μ¨Œλ“  μ§€κΈˆκΉŒμ§€λŠ”)에 λŒ€ν•΄ λ§ν•˜μžλ©΄...μ €λŠ” λ””μžμ΄λ„ˆμž…λ‹ˆλ‹€. 예λ₯Ό λ“€μ–΄ 이 도ꡬλ₯Ό μ‚¬μš©ν•˜μ§€λ§Œ λ‚΄ λ¨Έλ¦¬λŠ” μžμ—°μŠ€λŸ½κ²Œ 맀우 λ‹€μ–‘ν•œ μ’…λ₯˜μ˜ λ¬Έμ œμ— λŒ€ν•΄ μƒκ°ν•˜κ²Œ λ©λ‹ˆλ‹€. 이와 같은 λΌμ΄λΈŒλŸ¬λ¦¬μ—μ„œ λ°œμƒν•˜λŠ” 문제λ₯Ό ν•΄κ²°ν•˜λŠ” 데 λŠ₯μˆ™ν•˜μ§€ μ•Šλ‹€λŠ” 것 외에 μ‹€μ œλ‘œλŠ” ν‰μ†Œμ— ν•˜λŠ” μž‘μ—…μ΄ μ•„λ‹ˆλ©° λ‚΄ μ†”λ£¨μ…˜μ„ "μ‹ λ’°"ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. 여기에 μ–΄λŠ μ •λ„μ˜ 이기심이 μžˆλ‹€λŠ” 것을 μ•Œκ³  μžˆμ§€λ§Œ, 이런 μ‹μœΌλ‘œ ν–‰λ™ν•˜λŠ” ν”„λ‘ νŠΈμ—”λ“œ κ°œλ°œμ—μ„œ μš°μ—°νžˆλ„ 코딩을 ν•˜λŠ” λ””μžμ΄λ„ˆκ°€ λͺ‡ λͺ… 이상 μžˆλ‹€κ³  μƒκ°ν•©λ‹ˆλ‹€. μ•± 개발의 λ³΅μž‘μ„±μ„ μ œν’ˆ λ””μžμΈμ˜ λ³΅μž‘μ„±κ³Ό 더 λ°€μ ‘ν•˜κ²Œ μΌμΉ˜μ‹œμΌœ 도메인 κ°„ 이동이 덜 거슬릴 수 μžˆλ„λ‘ λ„μ™€μ£ΌλŠ” λ„κ΅¬λ‘œ λ‚˜μ™€ 같은 λ””μžμ΄λ„ˆλ₯Ό 기꺼이 λ„μ™€μ£ΌλŠ” λ‹Ήμ‹ κ³Ό 같은 μ‚¬λžŒλ“€μ—κ²Œ 맀우 κ°μ‚¬ν•©λ‹ˆλ‹€.

참고둜 μ €λŠ” λ ˆμ΄μ•„μ›ƒ 변경에 μ• λ‹ˆλ©”μ΄μ…˜ 효과λ₯Ό μ£ΌκΈ° μœ„ν•΄ react-dndλ₯Ό react-flip-move와 ν•¨κ»˜ μ‚¬μš©ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€. λ©°μΉ  μ•ˆλλŠ”λ° λ‘˜μ΄ λ„ˆλ¬΄ μž˜μ–΄μšΈλ €μš”.

@arstin

이것은 μ™„μ „νžˆ λ‚΄ ν•˜λ£¨λ₯Ό λ§Œλ“€μ—ˆμŠ΅λ‹ˆλ‹€. :마음:

_μ–΄λ–€ μ œν’ˆμ—μ„œ React DnDλ₯Ό μ‚¬μš©ν•˜κ³  μžˆμŠ΅λ‹ˆκΉŒ?_
μ œν’ˆμ€ 아직 포μž₯ μ€‘μž…λ‹ˆλ‹€.

_μ–Όλ§ˆλ‚˜ μœ μš©ν•©λ‹ˆκΉŒ?_
맀우 μœ μš©ν•©λ‹ˆλ‹€. λŒμ–΄μ„œ 놓기 μœ ν˜•μ΄ 많이 μžˆμŠ΅λ‹ˆλ‹€. ꡬ성 μš”μ†Œ λ‚΄μ—μ„œ DnD 논리λ₯Ό μœ μ§€ν•˜λŠ” 것은 우리의 λ‘λ‡Œκ°€ λͺ¨λ“  λ³΅μž‘μ„±μ„ κ΄€λ¦¬ν•˜λŠ” 데 도움이 λ˜μ—ˆμŠ΅λ‹ˆλ‹€.

_μ–Όλ§ˆλ‚˜ 자주 λ¬Έμ œκ°€ λ°œμƒν•˜λ©° μ–Όλ§ˆλ‚˜ λ‹΅λ‹΅ν•©λ‹ˆκΉŒ?_
λ“±λ‘ν•˜λŠ” λ“œλ‘­ νƒ€κ²Ÿμ˜ 양이 많기 λ•Œλ¬Έμ— μ„±λŠ₯에 λͺ‡ 가지 λ¬Έμ œκ°€ μžˆμŠ΅λ‹ˆλ‹€. 그렇지 μ•ŠμœΌλ©΄ ν›Œλ₯­ν•˜κ²Œ μž‘λ™ν•©λ‹ˆλ‹€!

_μ–΄λ–€ κΈ°λŠ₯에 관심이 μžˆμŠ΅λ‹ˆκΉŒ?_
μ„±λŠ₯ 및 SVG ν˜Έν™˜μ„±.

μ œν’ˆμ˜ μŠ€ν¬λ¦°μƒ· λͺ‡ 개λ₯Ό 첨뢀할 수 μžˆμŠ΅λ‹ˆκΉŒ?
μ™„μ „ν•˜μ§€λŠ” μ•Šμ§€λ§Œ, 이것은 μš°λ¦¬κ°€ React-DnD둜 ν•΄κ²°ν•˜λ €κ³  ν•˜λŠ” λ¬Έμ œμ— λŒ€ν•œ 아이디어λ₯Ό 쀄 κ²ƒμž…λ‹ˆλ‹€.

screenshot

이 μ‘μš© ν”„λ‘œκ·Έλž¨μ€ μ „λž΅ κ²Œμž„ 맡 νŽΈμ§‘κΈ°μ™€ 같은 κΈ°λŠ₯을 ν•©λ‹ˆλ‹€. μ—¬λŸ¬ κ·œμΉ™μ— 따라 μƒˆ ν•­λͺ©μ„ μ§€λ„λ‘œ λŒμ–΄λ‹€ 놓을 수 있으며 μ§€λ„μ—μ„œ ν•­λͺ©μ„ 이동할 μˆ˜λ„ μžˆμŠ΅λ‹ˆλ‹€. μš°λ¦¬λŠ” 온라인 κ²Œμž„μ„ λ§Œλ“œλŠ” 것이 μ•„λ‹ˆλΌ λ‹€λ₯Έ 맀핑 문제λ₯Ό ν•΄κ²°ν•˜κΈ° μœ„ν•΄ λͺ‡ 가지 아이디어λ₯Ό μ‚¬μš©ν•©λ‹ˆλ‹€(아직 μ–ΈκΈ‰ν•  수 μ—†μŒ).

ν›Œλ₯­ν•œ λ„μ„œκ΄€μ„ μ£Όμ…”μ„œ λŒ€λ‹¨νžˆ κ°μ‚¬ν•©λ‹ˆλ‹€!

λ°˜μ‘μ„ μ‚¬μš©ν•˜κ³  dnd μž‘μ—…μ„ μˆ˜ν–‰ν•΄μ•Ό ν•˜λŠ” 경우 이것은 생λͺ…μ˜ μ€μΈμž…λ‹ˆλ‹€. ν›Œλ₯­ν•œ 일!

λ‚˜λŠ” 우리의 전솑 관리 μ†Œν”„νŠΈμ›¨μ–΄ μ—μ„œ React DNDλ₯Ό μ‚¬μš©ν•©λ‹ˆλ‹€. μ§€κΈˆκΉŒμ§€λŠ” μ „ν˜€ λ¬Έμ œκ°€ μ—†μ—ˆμŠ΅λ‹ˆλ‹€.

μ‚¬μš©μžλŠ” 배달 μ •λ₯˜μž₯을 λ“œλž˜κ·Έν•˜μ—¬ κ³„μ‚°λœ 거리와 ν•¨κ»˜ μ§€λ„μ—μ„œ 직접 λ΄…λ‹ˆλ‹€.

tourstopmap

μ–΄λ–€ μ œν’ˆμ—μ„œ React DnDλ₯Ό μ‚¬μš©ν•˜κ³  μžˆμŠ΅λ‹ˆκΉŒ?

λŒμ–΄μ„œ 놓기 블둝 기반 CMS(또 λ‹€λ₯Έ λ‚΄λΆ€ 베타, 4μ›” ν΄λΌμ΄μ–ΈνŠΈμš© μΆœμ‹œ)

μ–Όλ§ˆλ‚˜ μœ μš©ν•©λ‹ˆκΉŒ?

μ—„μ²­λ‚˜κ²Œ. APIκ°€ λ‹€λ₯Έ 타사 ꡬ성 μš”μ†Œλ§ŒνΌ _μ •ν™•νžˆ_ κ°„λ‹¨ν•˜μ§€λŠ” μ•Šμ§€λ§Œ 맀우 κ°•λ ₯ν•˜κ³  μ‹€μ œλ‘œ ν•„μš”ν•œ λͺ¨λ“  μž‘μ—…μ„ μˆ˜ν–‰ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

λ¬Έμ œκ°€ μ–Όλ§ˆλ‚˜ 자주 λ°œμƒν•˜λ©° μ–Όλ§ˆλ‚˜ μ‹€λ§μŠ€λŸ½μŠ΅λ‹ˆκΉŒ?

λ“œλ¬Όκ³  λ³„λ‘œ λ‹΅λ‹΅ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

μ–΄λ–€ κΈ°λŠ₯에 관심이 μžˆμŠ΅λ‹ˆκΉŒ?

μ•ˆμ •μ„± 및 크둜슀 λΈŒλΌμš°μ € 방탄.

μ œν’ˆμ˜ μŠ€ν¬λ¦°μƒ· λͺ‡ 개λ₯Ό 첨뢀할 수 μžˆμŠ΅λ‹ˆκΉŒ?

dnd-cms

μ–΄λ–€ μ œν’ˆμ—μ„œ React DnDλ₯Ό μ‚¬μš©ν•˜κ³  μžˆμŠ΅λ‹ˆκΉŒ?

λ“œλž˜κ·Έ μ•€ λ“œλ‘­μ„ μ‚¬μš©ν•˜λŠ” λͺ¨λ“  μž₯μ†Œμ— λŒ€ν•΄ Asana μ›Ή μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ—μ„œ React DnDλ₯Ό μ‚¬μš©ν•©λ‹ˆλ‹€. ν˜„μž¬ 사내 Luna ν”„λ ˆμž„μ›Œν¬μ—μ„œ React둜 μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ„ λ‹€μ‹œ μž‘μ„±ν•˜κ³  있으며 λ“œλž˜κ·Έ μ•€ λ“œλ‘­μ„ μ‚¬μš©ν•˜λŠ” λͺ¨λ“  μœ„μΉ˜μ—μ„œ λ‹€μ‹œ μž‘μ„±ν•˜λŠ” λ™μ•ˆ React DnDλ₯Ό μ‚¬μš©ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€.

μ–Όλ§ˆλ‚˜ μœ μš©ν•©λ‹ˆκΉŒ?

μš°λ¦¬λŠ” 맀우 μœ μš©ν•˜λ‹€λŠ” 것을 μ•Œμ•˜μŠ΅λ‹ˆλ‹€. APIλŠ” μž‘μ—…ν•˜κΈ° 쉽고 λ“œλž˜κ·Έ μ•€ λ“œλ‘­μ„ λͺ‡ 가지 ꡬ성 μš”μ†Œμ— ν¬ν•¨ν•˜μ—¬ 문제λ₯Ό λͺ…ν™•ν•˜κ²Œ ꡬ뢄할 수 μžˆμŠ΅λ‹ˆλ‹€.

λ¬Έμ œκ°€ μ–Όλ§ˆλ‚˜ 자주 λ°œμƒν•˜λ©° μ–Όλ§ˆλ‚˜ μ‹€λ§μŠ€λŸ½μŠ΅λ‹ˆκΉŒ?

초기 λž¨ν”„ μ—… μ™Έμ—λŠ” μ’…μ’… λ¬Έμ œκ°€ λ°œμƒν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. μš°λ¦¬λŠ” TypeScript와 ν•¨κ»˜ React DnDλ₯Ό μ‚¬μš©ν•˜λ©°, μœ ν˜• μ •μ˜λ₯Ό μž‘μ„±ν•˜λŠ” 것이 우리λ₯Ό μœ„ν•œ λž¨ν”„μ—… 기간을 λ‹¨μΆ•μ‹œμΌ°λ‹€κ³  μƒκ°ν•©λ‹ˆλ‹€(ν”„λ‘œμ„ΈμŠ€μ—μ„œ 전체 APIλ₯Ό 탐색해야 ν–ˆκΈ° λ•Œλ¬Έμ—). 이제 우리의 λ¬Έμ œλŠ” 일반적으둜 ν…ŒμŠ€νŠΈμ— κ΄€ν•œ κ²ƒμž…λ‹ˆλ‹€(예: ν…ŒμŠ€νŠΈ κ°„ 정리, dnd-decorated ꡬ성 μš”μ†Œλ‘œ μž‘μ—…ν•˜λŠ” 사내 λ„μš°λ―Έ λ“±). 이것은 λ•Œλ•Œλ‘œ μ’Œμ ˆκ°μ„ 주기도 ν•˜μ§€λ§Œ, μ΄μ œλŠ” μ‚¬μš©ν•  λ²”μš© ꡬ성 μš”μ†Œλ‚˜ 미래 ꡬ성 μš”μ†Œμ˜ 기반이 λ˜λŠ” 예제 ꡬ성 μš”μ†Œκ°€ μžˆμœΌλ―€λ‘œ 덜 κ·Έλ ‡μŠ΅λ‹ˆλ‹€.

μ–΄λ–€ κΈ°λŠ₯에 관심이 μžˆμŠ΅λ‹ˆκΉŒ?

μ„±λŠ₯, 관심사 뢄리, ν…ŒμŠ€νŠΈ κ°€λŠ₯μ„±

μ œν’ˆμ˜ μŠ€ν¬λ¦°μƒ· λͺ‡ 개λ₯Ό 첨뢀할 수 μžˆμŠ΅λ‹ˆκΉŒ?

Drag to subtask
Dashboards

@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가지 λ¬Έμ œκ°€ μžˆμ—ˆμŠ΅λ‹ˆλ‹€.

  • ν„°μΉ˜ λ°±μ—”λ“œλ‘œ μ˜¬λ°”λ₯Έ λ“œλž˜κ·Έ UX μ–»κΈ°(μ„±λŠ₯ 포함)
  • μ²˜μŒμ—λŠ” JSμ—μ„œ λ“œλ‘­ μ˜μ—­ λ‘œμ§μ„ κ΅¬ν˜„ν•˜λ €κ³  μ‹œλ„ν–ˆμ§€λ§Œ React DnDμ—μ„œ μ˜¬λ°”λ₯Έ νƒ€κ²Ÿ μƒλŒ€ μ’Œν‘œ(νƒ€κ²Ÿ μœ„ λ˜λŠ” μ•„λž˜λ‘œ λ“œλ‘­ν• μ§€ μ—¬λΆ€λ₯Ό κ²°μ •ν•˜κΈ° μœ„ν•΄)λ₯Ό 얻을 수 μ—†μ–΄ κ²°κ΅­ λ³„λ„μ˜ μ˜€λ²„λ ˆμ΄ DOM μš”μ†Œλ₯Ό λ§Œλ“€κΈ°λ‘œ κ²°μ •ν–ˆμŠ΅λ‹ˆλ‹€. λ“œλ‘­ λŒ€μƒμœΌλ‘œ.

μ–΄λ–€ κΈ°λŠ₯에 관심이 μžˆμŠ΅λ‹ˆκΉŒ?

μ„±λŠ₯, κΈ°λ³Έ λΈŒλΌμš°μ €/ν”Œλž«νΌμ˜ 단점을 μˆ¨κΉλ‹ˆλ‹€.

μ œν’ˆμ˜ μŠ€ν¬λ¦°μƒ· λͺ‡ 개λ₯Ό 첨뢀할 수 μžˆμŠ΅λ‹ˆκΉŒ?

ν…”λ ˆν¬νŠΈ μ  :

λ°˜μ‘-dnd-트리뷰:

μ–΄λ–€ μ œν’ˆμ—μ„œ React DnDλ₯Ό μ‚¬μš©ν•˜κ³  μžˆμŠ΅λ‹ˆκΉŒ?
Discord - https://discordapp.com - 게이머λ₯Ό μœ„ν•œ μŒμ„± 및 문자 μ±„νŒ…

μ–Όλ§ˆλ‚˜ μœ μš©ν•©λ‹ˆκΉŒ?
맀우!

λ¬Έμ œκ°€ μ–Όλ§ˆλ‚˜ 자주 λ°œμƒν•˜λ©° μ–Όλ§ˆλ‚˜ μ‹€λ§μŠ€λŸ½μŠ΅λ‹ˆκΉŒ?
λ“œλ¬Όκ²Œ 5/10 μ‹€λ§μŠ€λŸ½μŠ΅λ‹ˆλ‹€.

μ–΄λ–€ κΈ°λŠ₯에 관심이 μžˆμŠ΅λ‹ˆκΉŒ?
λͺ¨λ“  ν˜„μž¬ κΈ°λŠ₯.

μš°λ¦¬λŠ” Slack λ°μŠ€ν¬ν†± ν΄λΌμ΄μ–ΈνŠΈμ— react-dndλ₯Ό 거의 μ‚¬μš©ν–ˆμ§€λ§Œ λΆˆν–‰νžˆλ„ 두 가지 μ œν•œ 사항에 λΆ€λ”ͺν˜€ κ²°κ΅­ κ±°λž˜κ°€ μ€‘λ‹¨λ˜μ—ˆμŠ΅λ‹ˆλ‹€.

  1. λ“œλž˜κ·Έ 둜직(예: λ“œλž˜κ·Έκ°€ 진행 쀑일 λ•Œμ™€ 같이 λ“œλž˜κ·Έ μƒνƒœλ₯Ό κ³„μ‚°ν•˜λŠ” 둜직)을 μ‚¬μš©μž μ •μ˜ν•  수 μ—†μŠ΅λ‹ˆλ‹€.

    • λ“œλž˜κ·Έ μƒνƒœμ—μ„œ μ£Όμž…λœ λ³€κ²½ μ†Œν’ˆμ— λŒ€ν•œ μ‘λ‹΅μœΌλ‘œ ꡬ성 μš”μ†Œλ₯Ό λ³€κ²½ν•˜λŠ” 것은 맀우 μ‰½μŠ΅λ‹ˆλ‹€. μ‚¬μš©μž μ •μ˜ React ꡬ성 μš”μ†Œλ‘œ λ“œλž˜κ·Έ 미리보기λ₯Ό μ‚¬μš©μž μ •μ˜ν•˜λŠ” 것도 맀우 κ°„λ‹¨ν•©λ‹ˆλ‹€. κ·ΈλŸ¬λ‚˜ λΆˆν–‰νžˆλ„ λ“œλž˜κ·Έ μž‘μ—…μ— μ²¨λΆ€ν•˜λŠ” λ°μ΄ν„°λŠ” μ»€μ„œ μ£Όμœ„μ— μ²¨λΆ€ν•˜κ³  λ”°λΌκ°ˆ 수만 μžˆμŠ΅λ‹ˆλ‹€. 이것은 ν˜„μž¬ μ‚¬μ΄λ“œλ°”μ—μ„œμ™€ 같은 μ‚¬μš©μž κ²½ν—˜μ„ λ°°μ œν•©λ‹ˆλ‹€. μ—¬κΈ°μ—μ„œ νŒ€ μ•„μ΄μ½˜μ„ λ“œλž˜κ·Έν•˜μ—¬ μž¬μ •λ ¬ν•  수 있으며 μ΄λŸ¬ν•œ λ“œλž˜κ·ΈλŠ” yμΆ•μœΌλ‘œλ§Œ μ œν•œλ©λ‹ˆλ‹€. react-dndλ₯Ό μ‚¬μš©ν•˜λ©΄ λ“œλž˜κ·Έ 미리보기 λ₯Ό ν•œ μΆ•μœΌλ‘œ μ‰½κ²Œ μ œν•œν•  수 μžˆμ§€λ§Œ λ“œλž˜κ·Έν•  λ•Œ μ»€μ„œμ— μ—°κ²°λœ 데이터λ₯Ό μ œν•œν•˜λŠ” 것은 λΆˆκ°€λŠ₯ν•©λ‹ˆλ‹€. 즉, μ»€μ„œλ₯Ό μ‚¬μ΄λ“œλ°”μ—μ„œ μˆ˜ν‰μœΌλ‘œ 멀리 μ΄λ™ν–ˆμ§€λ§Œ μ»€μ„œκ°€ μ—¬μ „νžˆ 놓기 λŒ€μƒ "μœ„μ—" 수직으둜 μžˆλŠ” 경우 react-dndλŠ” 놓기 λŒ€μƒμ΄ μ „ν˜€ μ‘λ‹΅ν•˜μ§€ μ•Šλ„λ‘ ν•©λ‹ˆλ‹€. (ν˜„μž¬ react-dnd πŸ‘‡ 없이 λ™μž‘ν•˜λŠ” λ™μž‘μ€ μ•„λž˜ GIF μ°Έμ‘°)

      untitled

  2. μ‚¬μš©μž μ •μ˜ λ“œλž˜κ·Έ λ ˆμ΄μ–΄λ₯Ό μ‚¬μš©ν•˜λ©΄ hover μ—μ„œ μž‘μ—…μ„ μˆ˜ν–‰ν•˜λŠ” 경우 일반 React λ Œλ” 루프λ₯Ό μ°¨λ‹¨ν•©λ‹ˆλ‹€. μ‚¬μš©μž μ •μ˜ λ“œλž˜κ·Έ λ ˆμ΄μ–΄λ₯Ό 원할 경우 μΆ”κ°€ React ꡬ성 μš”μ†Œλ₯Ό 생성해야 ν•˜κ³  ν•΄λ‹Ή λ“œλž˜κ·Έ λ ˆμ΄μ–΄λŠ” dnd λͺ¨λ‹ˆν„°μ—μ„œ props 변경에 λŒ€ν•œ μ‘λ‹΅μœΌλ‘œ μœ„μΉ˜λ₯Ό λ³€κ²½ν•˜μ—¬ μž‘λ™ν•˜λ―€λ‘œ render() λŠ” κ²°κ΅­ λ‹€μŒμ„ μ–»μŠ΅λ‹ˆλ‹€. _많이_. 이것은 DragSourceλ₯Ό λ“œλž˜κ·Έν•  λ•Œ hover μ—μ„œ λ‹€λ₯Έ ꡬ성 μš”μ†Œ(λŒ€λΆ€λΆ„ λ‹€λ₯Έ λ“œλ‘­ λŒ€μƒ)λ₯Ό λ‹€μ‹œ λ Œλ”λ§ν•˜λ €λŠ” κ²½μš°μ—λ§Œ λ¬Έμ œμž…λ‹ˆλ‹€. μš°λ¦¬λŠ” hover 의 μƒνƒœλ₯Ό λΉ„λ™κΈ°μ μœΌλ‘œ λ³€κ²½ν•˜κ³  놓기 λŒ€μƒμ΄ λ³€κ²½λ˜μ§€ μ•Šμ€ 경우 ν˜Έλ²„μ—μ„œ 일찍 λ°˜ν™˜ν•˜μ—¬ 이λ₯Ό λ‹€μ†Œ μ™„ν™”ν•  수 μžˆμ—ˆμ§€λ§Œ ν˜Έλ²„λ§ν•˜λŠ” λ™μ•ˆ 놓기 λŒ€μƒμ„ λ³€κ²½ν•  λ•Œ μ—¬μ „νžˆ λˆˆμ— λ„λŠ” 지연이 μžˆμ—ˆμŠ΅λ‹ˆλ‹€.

ν”Όλ“œλ°±μ΄ 도움이 되기λ₯Ό λ°”λžλ‹ˆλ‹€! λ‚˜λŠ” Slack μ•±μ—μ„œ 그것을 μ‚¬μš©ν•  κ°€λŠ₯성을 μ‘°μ‚¬ν•˜λŠ” λ™μ•ˆ react-dnd둜 μž‘μ—…ν•˜λŠ” 것을 즐겼고, κ°€λŠ₯ν•˜λ‹€λ©΄ μ΄λŸ¬ν•œ ν•œκ³„λ₯Ό κ·Ήλ³΅ν•˜λŠ” 것을 보고 μ‹ΆμŠ΅λ‹ˆλ‹€.

μ–΄λ–€ μ œν’ˆμ—μ„œ React DnDλ₯Ό μ‚¬μš©ν•˜κ³  μžˆμŠ΅λ‹ˆκΉŒ?

μ›Ή νŽ˜μ΄μ§€λ₯Ό λ§Œλ“œλŠ” μƒˆλ‘œμš΄ 방법인 tylio μ—μ„œ μ‚¬μš©ν•©λ‹ˆλ‹€. React-dndλŠ” μ½˜ν…μΈ λ₯Ό μ—…λ‘œλ“œν•˜λŠ” νŽ˜μ΄μ§€μ˜ μ „λ©΄ 쀑앙에 μžˆμŠ΅λ‹ˆλ‹€.

μ–Όλ§ˆλ‚˜ μœ μš©ν•©λ‹ˆκΉŒ?

ꡉμž₯히 μœ μš©ν•˜λ‹€; λͺ¨λ“  μ›€μ§μ΄λŠ” 뢀뢄을 ν•œ λ²ˆμ— 이해해야 ν•˜κΈ° λ•Œλ¬Έμ— μ²˜μŒμ—λŠ” 머리λ₯Ό κ°μ‹ΈλŠ” 것이 μ•½κ°„ μ–΄λ ΅μ§€λ§Œ ν΄λ¦­ν•˜λ©΄ 잘 λ©λ‹ˆλ‹€.

λ¬Έμ œκ°€ μ–Όλ§ˆλ‚˜ 자주 λ°œμƒν•˜λ©° μ–Όλ§ˆλ‚˜ μ‹€λ§μŠ€λŸ½μŠ΅λ‹ˆκΉŒ?

우리의 κ²½μš°λŠ” 크기가 λ‹€λ₯Έ ν•­λͺ©μ„ μž¬μ •λ ¬ν•˜κ³  μ΄λ™ν•˜λ©° λ’€μ§‘νžˆλŠ” 것을 μ›ν•˜μ§€ μ•ŠκΈ° λ•Œλ¬Έμ— 맀우 λ³΅μž‘ν•©λ‹ˆλ‹€. λ¬Έμ œκ°€ μ’€ 있긴 ν–ˆμ§€λ§Œ 라이브러리 μžμ²΄λ³΄λ‹€λŠ” μ‚¬μš©λ²•μ΄ 더 λ¬Έμ œμ˜€λ˜ 것 κ°™μ•„μš”.

μ–΄λ–€ κΈ°λŠ₯에 관심이 μžˆμŠ΅λ‹ˆκΉŒ?

거의 κ·Έλ“€ λͺ¨λ‘! λ‹€μ–‘ν•œ μœ ν˜•μ˜ λ“œλž˜κ·Έ μ†ŒμŠ€ 및 λ“œλ‘­ λŒ€μƒ, κΈ°λ³Έ 파일/URL/ν…μŠ€νŠΈ, HTML5 및 λ§žμΆ€ν˜• λ“œλž˜κ·Έ λ ˆμ΄μ–΄κ°€ μžˆλŠ” ν„°μΉ˜ λ°±μ—”λ“œλ₯Ό μ‚¬μš©ν•©λ‹ˆλ‹€.

μ œν’ˆμ˜ μŠ€ν¬λ¦°μƒ· λͺ‡ 개λ₯Ό 첨뢀할 수 μžˆμŠ΅λ‹ˆκΉŒ?

capture d ecran 2016-07-07 a 10 35 58

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λ₯Ό μ‚¬μš©ν•˜μ—¬ 이λ₯Ό μˆ˜ν–‰ν•  수 μžˆλŠ” κΉ¨λ—ν•œ 방법이 μ—†λŠ” 것 κ°™μŠ΅λ‹ˆλ‹€. ν•˜μ§€λ§Œ 더 μžμ„Ένžˆ μ‚΄νŽ΄λ³΄κ³  μžˆμŠ΅λ‹ˆλ‹€. 더 깊이 νŒŒκ³ λ“€λ©΄ 더 λ§Žμ€ 것을 κ³΅μœ ν•  κ²ƒμž…λ‹ˆλ‹€.

apr-06-2018 13-26-25

@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 μ†”λ£¨μ…˜μ„ μ‚¬μš©ν•΄μ•Ό ν–ˆλ˜ μœ μΌν•œ 이유라고 λ§ν•˜κ³  μ‹ΆμŠ΅λ‹ˆλ‹€.

(νŽΈμ§‘) 이것은 λ“œλž˜κ·Έ μ•€ λ“œλ‘­ νŽ˜μ΄μ§€ λΉŒλ”λ₯Ό κ΅¬μΆ•ν•˜λ €λŠ” λͺ¨λ“  μ‚¬λžŒμ—κ²Œ 정말 μœ μš©ν•œ κΈ°λŠ₯이라고 μƒκ°ν•©λ‹ˆλ‹€.

이 νŽ˜μ΄μ§€κ°€ 도움이 λ˜μ—ˆλ‚˜μš”?
0 / 5 - 0 λ“±κΈ‰