React-dnd: Firefoxμ—μ„œ μž‘λ™ν•˜μ§€ μ•ŠμŒ

에 λ§Œλ“  2017λ…„ 09μ›” 07일  Β·  34μ½”λ©˜νŠΈ  Β·  좜처: react-dnd/react-dnd

μ•ˆλ…•ν•˜μ„Έμš”,
reactdndλŠ” μ΅œμ‹  Firefox 버전 55.0.3μ—μ„œ 더 이상 μž‘λ™ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.
reactdnd 버전 μ‚¬μš© :
"react-dnd": "^ 2.5.1",
"react-dnd-html5-backend": "^ 2.5.1",

Firefoxκ°€ μž‘λ™ν•˜λŠ” μ΅œμ‹  λ²„μ „μ˜ reactdndλ₯Ό μ•„λŠ” μ‚¬λžŒμ΄ μžˆμŠ΅λ‹ˆκΉŒ?

pinned

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

이것을 닫지 λ§ˆμ‹­μ‹œμ˜€. Firefox 60.9.0esrμ—μ„œλŠ” μ—¬μ „νžˆ μ†μƒλ˜μ—ˆμŠ΅λ‹ˆλ‹€.

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

κ·ΈλŸ¬λ‚˜ React-dndλŠ” Firefox 55.0.2μ—μ„œ μž‘λ™ν•©λ‹ˆλ‹€.

56.0μ—μ„œλ„ μž‘λ™ν•˜μ§€ μ•ŠμœΌλ©° 였λ₯˜κ°€ λ°œμƒν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. λ‹¨μˆœνžˆ ν΄λ¦­ν•˜κ³  λ“œλž˜κ·Έ ν•  수 μ—†μŠ΅λ‹ˆλ‹€. Chromeμ—μ„œ 잘 μž‘λ™ν•©λ‹ˆλ‹€.

이것에 λŒ€ν•œ 아이디어가 μžˆμŠ΅λ‹ˆκΉŒ?
"react-dnd": "^ 2.5.4",
"react-dnd-html5-backend": "^ 2.5.4",

Firefox : 56.0
μ’…μ’… μž‘λ™μ„ 멈 μΆ₯λ‹ˆ λ‹€. 특히 λ§Žμ€ 탭이 μ—΄λ €μžˆλŠ” 경우.

λˆ„κ΅°κ°€ react-dndκ°€ μ‹€νŒ¨ν•œ μƒ˜ν”Œ μΌ€μ΄μŠ€κ°€μžˆλŠ” μ €μž₯μ†Œλ₯Ό 가리킬 수 μžˆμŠ΅λ‹ˆκΉŒ? react-dndλ₯Ό 많이 μ‚¬μš©ν•˜λŠ” 앱이 μžˆμ§€λ§Œ firefox 56μ—μ„œλŠ” λ¬Έμ œκ°€ μ—†μŠ΅λ‹ˆλ‹€.

λ˜ν•œ μ‚¬μš©μ€‘μΈ OSλ₯Ό μ§€μ •ν•˜μ‹­μ‹œμ˜€. 졜근 html5 Drag and Drop APIκ°€ λ‹€λ₯Έ OSμ—μ„œ 일뢀 λΆˆμΌμΉ˜κ°€ μžˆμŒμ„ ν™•μΈν–ˆμŠ΅λ‹ˆλ‹€.

Linuxμ—μ„œλ„ FF 56 문제λ₯Ό κ΄€μ°°ν–ˆμŠ΅λ‹ˆλ‹€ (Windows λ˜λŠ” OSXμ—μ„œ ν…ŒμŠ€νŠΈν•˜μ§€ μ•ŠμŒ).

http://react-dnd.github.io/react-dnd/examples-sortable-simple.html

이 κ°„λ‹¨ν•œ 예제λ₯Ό μ‹œλ„ν•΄ 보면 μš”μ†ŒλŠ” μ΅œλŒ€ 1 μœ„μΉ˜μ—μ„œ 이동 ν•œ λ‹€μŒ 더 이상 μš”μ†Œλ₯Ό μ΄λ™ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. 예λ₯Ό λ“€μ–΄ μ•„λž˜μͺ½ μš”μ†Œλ₯Ό 작고 μœ„μͺ½μœΌλ‘œ μ΄λ™ν•˜λ €κ³ ν•©λ‹ˆλ‹€.

# 778μ—μ„œλ„ λ…Όμ˜ 됨

우리의 경우-DnDκ°€ FFμ—μ„œ μž‘λ™ν•˜μ§€ μ•ŠμŒ, 예제 μΌ€μ΄μŠ€ https://react-dnd.github.io/react-dnd/examples-drag-around-naive.html- μ–΄μ œ 제좜 ν•œ pull μš”μ²­μœΌλ‘œ 문제λ₯Ό μˆ˜μ •ν–ˆμŠ΅λ‹ˆλ‹€. . μ•„λ§ˆλ„ 그것이 λ‹Ήμ‹ μ˜ 사건을 ν•΄κ²°ν•˜λŠ”μ§€ λ‹€μ‹œλ³΄κ³  ν•  μˆ˜μžˆμ„ κ²ƒμž…λ‹ˆλ‹€.

Ubuntu 16.04의 FF 57.0.1에 μ—¬μ „νžˆ λ¬Έμ œκ°€ μžˆμŠ΅λ‹ˆλ‹€. λ“œλž˜κ·Έ μ•€ λ“œλ‘­μ΄ μ „ν˜€ μ•ˆλ˜κ³  λ“œλž˜κ·Έ μ΄λ²€νŠΈκ°€ μ‹œμž‘λœ 것 κ°™μ§€λ§Œ κ³§λ°”λ‘œ μ·¨μ†Œλ©λ‹ˆλ‹€. ν¬λ‘¬μ—μ„œ 잘 μž‘λ™ν•©λ‹ˆλ‹€.

FF 및 OSX 10.13.1에도 λ¬Έμ œκ°€ μžˆμŠ΅λ‹ˆλ‹€.

νŽΈμ§‘ :이 λ¬Έμ œμ™€ μœ μ‚¬ν•œ λ‹€λ₯Έ 문제λ₯Ό λ°œκ²¬ν–ˆμŠ΅λ‹ˆλ‹€ (https://github.com/react-dnd/react-dnd/issues/778). μžμ„Έν•œ λ‚΄μš©μ€ 그것을 ν™•μΈν•˜μ‹­μ‹œμ˜€. λ˜ν•œ 베타 FF Nightly (https://nightly.mozilla.org/)λ₯Ό μ‹œλ„ν–ˆλŠ”λ° 버그가 μ‚¬λΌμ‘ŒμŠ΅λ‹ˆλ‹€. μ•„λ§ˆλ„ 이것은 FF 문제이며 react-dndκ°€ μ•„λ‹™λ‹ˆλ‹€.

ν—‰ν—‰

Nightlyμ—μ„œ μ—¬μ „νžˆ λ¬Έμ œκ°€ λ°œμƒν•˜κ³  μžˆμ§€λ§Œ RDandD보닀 μ•±μ—μ„œ 훨씬 더 λ§Žμ€ λ¬Έμ œκ°€ λ°œμƒν•˜λŠ” 것 κ°™μŠ΅λ‹ˆλ‹€. λ”°λΌμ„œ FFκ°€ λ²„κ·Έμ˜ μ‹€μ œ 원인인지 여뢀와 버그가 μˆ˜μ •λ˜μ—ˆλŠ”μ§€ μ—¬λΆ€λ₯Ό ν‘œμ‹œλ‘œ μ‹ λ’°ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

@erwinverdonk , μˆ˜μ • 사항을 곡유 ν•  수 μžˆμŠ΅λ‹ˆκΉŒ? PR은 λ¬΄μ—‡μž…λ‹ˆκΉŒ?
건배

@ Paddy-Hamilton yes with FF Nightly μ—¬μ „νžˆ λͺ‡ 가지 버그가 λ‚˜νƒ€λ‚©λ‹ˆλ‹€. 맀λ ₯처럼 크둬과 μ‚¬νŒŒλ¦¬λ‘œ μž‘μ—…ν•˜κΈ° λ•Œλ¬Έμ— FF λ¬Έμ œκ°€λ˜μ–΄μ•Όν•©λ‹ˆλ‹€. 제 κ²½μš°λŠ”λ³΄κ³  된 FF 문제의 κ²½μš°μ™€ λ˜‘κ°™μŠ΅λ‹ˆλ‹€.

@ Paddy-Hamilton : 예, 여기에 μžλ™ μ—°κ²°λ˜μ§€ μ•Šμ•˜μœΌλ―€λ‘œ μ—¬κΈ° PR에 λŒ€ν•œ 링크가 μžˆμŠ΅λ‹ˆλ‹€. https://github.com/react-dnd/react-dnd/pull/928

κ·Έλž˜μ„œ λˆ„κ΅¬λ“ μ§€ λ¬Έμ œκ°€ 무엇인지 μ••λ‹ˆκΉŒ?
Ubuntu 17.04μ—μ„œ FF 57.0.4 64 λΉ„νŠΈλ₯Ό μ‚¬μš©ν•˜κ³  μžˆλŠ”λ° μ—¬μ „νžˆ μž‘λ™ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. 이 μ˜ˆλ„ : http://react-dnd.github.io/react-dnd/examples-chessboard-tutorial-app.html

μ•ˆλ…•ν•˜μ„Έμš”, μ €μ—κ²Œ νš¨κ³Όκ°€μžˆλŠ” μΌμ’…μ˜ ν•΄κ²° 방법을 μ°Ύμ•˜μŠ΅λ‹ˆλ‹€. λ‚΄ λ“œλž˜κ·Έ μ•€ λ“œλ‘­μ€ Chromeμ—μ„œ 잘 μž‘λ™ν–ˆμ§€λ§Œ FFμ—μ„œλŠ” μ „ν˜€ μž‘λ™ν•˜μ§€ μ•Šμ•˜μŠ΅λ‹ˆλ‹€.
κ·Έλž˜μ„œ λ‚΄ μ½”λ“œλŠ” λ‹€μŒκ³Ό κ°™μŠ΅λ‹ˆλ‹€.
render() { return ( isDragging ? null : <div className='myDraggableComponent'>...</div>)}
그리고 이후 :
render() { return <div className='myDraggableComponent' style={{ visibility: isDragging ? 'hidden' : 'visible' }}>...</div>)}

νŠΈμœ— λ‹΄μ•„ κ°€κΈ°

λ¬Έμ œλŠ” μ—¬μ „νžˆ FF Nightlyμ—μ„œ μ €μ—κ²Œ μžˆμ—ˆκΈ° λ•Œλ¬Έμ— λŒ€μ•ˆμ„ μ°Ύμ•„μ•Όν–ˆκ³  react-beautiful-dnd λ₯Ό λ°œκ²¬ν–ˆμœΌλ©° FF 및 λ‹€λ₯Έ λͺ¨λ“  μ£Όμš” λΈŒλΌμš°μ €μ—μ„œ 맀λ ₯처럼 μž‘λ™ν•˜λ©° react-dnd보닀 마크 업이 μ μŠ΅λ‹ˆλ‹€. λ³΄λ„ˆμŠ€μž…λ‹ˆλ‹€.

Chess μ˜ˆμ œλŠ” FF 59.0.2μ—μ„œ μ—¬μ „νžˆ μž‘λ™ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

체슀 νŠœν† λ¦¬μ–Όμ€ FF 60.0을 μ‚¬μš©ν•˜λŠ” Linuxμ—μ„œ μž‘λ™ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

  1. 기사λ₯Ό 길게 클릭
  2. μœ νš¨ν•œ μ‚¬κ°ν˜• (λ…Ήμƒ‰μœΌλ‘œ λ Œλ”λ§λ˜λŠ” μ‚¬κ°ν˜•)으둜 μ΄λ™ν•©λ‹ˆλ‹€.
  3. μΈμ ‘ν•œ κ΄‘μž₯으둜 이동

μ˜ˆμƒ κ²°κ³Ό : μ‚¬κ°ν˜•μ΄ λΉ¨κ°„μƒ‰μœΌλ‘œ κ°•μ‘° ν‘œμ‹œλ¨
μ‹€μ œ κ²°κ³Ό : 녹색 μ‚¬κ°ν˜•μ€ 계속 κ°•μ‘° ν‘œμ‹œλ©λ‹ˆλ‹€.

λ˜ν•œ μ»€μ„œκ°€ μ–΄λ–€ μ‚¬κ°ν˜•μ— μžˆλ“  마우슀λ₯Ό λ†“μœΌλ©΄ λ“œλž˜κ·Έκ°€ μ·¨μ†Œλ©λ‹ˆλ‹€.

Ae you on Linux @adamhooper? OSXμ—μ„œ μž¬ν˜„ ν•  수 μ—†μŠ΅λ‹ˆλ‹€.

νŽ˜λ„λΌ 28

였늘의 3.0.2 μ—…λ°μ΄νŠΈλ₯Ό μ„€μΉ˜ν•˜λ©΄ λ¬Έμ œκ°€ ν•΄κ²°λ˜κΈ°λ₯Ό λ°”λžμŠ΅λ‹ˆλ‹€. λΆˆν–‰νžˆλ„ μ—¬μ „νžˆ κ³ μž₯λ‚¬μŠ΅λ‹ˆλ‹€. κ·ΈλŸ¬λ‚˜ Linuxμ—μ„œλ§Œ ν…ŒμŠ€νŠΈν–ˆμŠ΅λ‹ˆλ‹€. λ‹€λ₯Έ 운영 μ²΄μ œμ—μ„œ 예제λ₯Ό μ‹œλ„ν•œ μ‚¬λžŒμ΄ μžˆμŠ΅λ‹ˆκΉŒ?

3.x μ—…λ°μ΄νŠΈλŠ” 주둜 μœ ν˜• κ°œμ„ μ„ λͺ©ν‘œλ‘œν–ˆμŠ΅λ‹ˆλ‹€. λ‚˜λŠ” λ¦¬λˆ…μŠ€ 머신이 μ—†μ§€λ§Œ λˆ„κ΅°κ°€ 이것을 μž¬ν˜„ν•˜κ³  PR을 μž˜λΌλ‚Ό 수 μžˆλ‹€λ©΄ 쒋을 κ²ƒμž…λ‹ˆλ‹€.

이와 같은 문제λ₯Ό ν¬μ°©ν•˜λŠ” 데 μ‚¬μš©ν•  μˆ˜μžˆλŠ” λ‹€μ–‘ν•œ λΈŒλΌμš°μ € κ°„ ν…ŒμŠ€νŠΈ 도ꡬλ₯Ό μ‚΄νŽ΄ λ³΄κ² μŠ΅λ‹ˆλ‹€. κΈ°μ‘΄ μ˜ˆμ œλŠ” ν…ŒμŠ€νŠΈλ₯Όμœ„ν•œ κ½€ 쒋은 κΈ°μ€€μ΄λ˜μ–΄μ•Όν•©λ‹ˆλ‹€.

이 λ¬Έμ œλŠ” Firefox의 Linux λ²„μ „μ—μ„œλ§Œ ν™•μΈλ˜μ—ˆμŠ΅λ‹ˆλ‹€. Windowsμ—μ„œ 잘 μž‘λ™ν•©λ‹ˆλ‹€.

sortable 예제λ₯Ό 보면 simple λŠ” μž‘λ™ν•˜μ§€ μ•Šμ§€λ§Œ stress test λŠ” μž‘λ™ν•©λ‹ˆλ‹€.
차이점은 stress test 이 requestAnimationFrame λ‚΄λΆ€μ˜ μƒνƒœλ₯Ό μ—…λ°μ΄νŠΈν•œλ‹€λŠ” κ²ƒμž…λ‹ˆλ‹€.

requestAnimationFrame μ‚¬μš©ν•˜λ©΄ λ¬Έμ œκ°€ ν•΄κ²°λ©λ‹ˆλ‹€.
Linux 용 Firefox.

μ•Œκ² μŠ΅λ‹ˆλ‹€. κ·Έλž˜μ„œ μ•„λ§ˆλ„ ꡬ피와 κ΄€λ ¨μ΄μžˆμ„ κ²ƒμž…λ‹ˆλ‹€.
Firefox μ „μš©μœΌλ‘œ κ³ μ•ˆλœ settimeouts. λ‚΄κ°€ 가지λ₯Ό 자λ₯΄λ©΄
μ œμ•ˆ 된 μˆ˜μ • 사항, npm을 μ—°κ²°ν•˜κ³  Linuxμ—μ„œ ν…ŒμŠ€νŠΈ ν•  의ν–₯이 μžˆμŠ΅λ‹ˆκΉŒ?

2018 λ…„ 6 μ›” 5 일 ν™”μš”μΌ μ˜€μ „ 5μ‹œ 10 λΆ„ Kyriakos Z. [email protected] 은 λ‹€μŒκ³Ό 같이 μΌμŠ΅λ‹ˆλ‹€.

μ •λ ¬ κ°€λŠ₯ν•œ 예제λ₯Ό 보면 κ°„λ‹¨ν•˜κ²Œ μž‘λ™ν•˜μ§€ μ•Šμ§€λ§Œ 슀트레슀 ν…ŒμŠ€νŠΈ
곡μž₯.
차이점은 슀트레슀 ν…ŒμŠ€νŠΈκ°€ λ‚΄λΆ€ μƒνƒœλ₯Ό μ—…λ°μ΄νŠΈν•œλ‹€λŠ” κ²ƒμž…λ‹ˆλ‹€.
requestAnimationFrame.

requestAnimationFrame을 μ‚¬μš©ν•˜λ©΄ λ¬Έμ œκ°€ ν•΄κ²°λ©λ‹ˆλ‹€.
Linux의 Firefox.

β€”
λŒ“κΈ€μ„ λ‹¬μ•˜ κΈ° λ•Œλ¬Έμ— μˆ˜μ‹  ν•œ κ²ƒμž…λ‹ˆλ‹€.
이 이메일에 직접 λ‹΅μž₯ν•˜κ³  GitHubμ—μ„œ ν™•μΈν•˜μ„Έμš”.
https://github.com/react-dnd/react-dnd/issues/869#issuecomment-394685648 ,
λ˜λŠ” μŠ€λ ˆλ“œ μŒμ†Œκ±°
https://github.com/notifications/unsubscribe-auth/AAG7iExIfA_El7IoR80oWgIvo87n2ABBks5t5nVFgaJpZM4PPxNf
.

@darthtrevino 예 λ¬Όλ‘ μž…λ‹ˆλ‹€!

λΉ„μŠ·ν•œ λ¬Έμ œκ°€ λ°œμƒν–ˆμŠ΅λ‹ˆλ‹€.
이미 μ΅œμ‹  λ²„μ „μ˜ Firefoxκ°€ 있고 (λ¦¬λˆ…μŠ€μ—μ„œ) λ°˜μ‘ν•©λ‹ˆλ‹€.

λ‚΄ 문제의 원인은 λ‚΄ λ“œλž˜κ·Έ ν•Έλ“€λŸ¬ ( ref={props.connectDragSource} ꡬ성 μš”μ†Œ)κ°€ λ°˜μ‘ λΌμš°ν„°μ˜ <Link> 내뢀에 μžˆλ‹€λŠ” κ²ƒμž…λ‹ˆλ‹€.

λ‚˜λŠ” 그것이 문제λ₯Ό μΌμœΌν‚€λŠ” 이유λ₯Ό λͺ¨λ₯΄κ² μ§€λ§Œ <Link> 외뢀에 두 자마자 λͺ¨λ“  것이 잘 μž‘λ™ν–ˆμŠ΅λ‹ˆλ‹€.

λˆ„κ΅°κ°€μ—κ²Œ λ„μ›€μ΄λ˜λŠ” 경우 여기에 κ²Œμ‹œ

Debian 10의 Firefox 60.8.0esrμ—μ„œ λ™μΌν•œ λ¬Έμ œκ°€ μžˆμŠ΅λ‹ˆλ‹€.

requestAnimationFrame λ‚΄λΆ€μ˜ μƒνƒœλ₯Ό μ—…λ°μ΄νŠΈν•˜λ©΄ Firefoxμ—μ„œ λ¬Έμ œκ°€ ν•΄κ²°λ˜μ§€λ§Œ λ“œλž˜κ·Έμ™€ Chrome이 λŠλ €μ§€κ³  κΉ¨μ§‘λ‹ˆλ‹€.

이 λ¬Έμ œλŠ” 졜근 ν™œλ™μ΄ μ—†μ—ˆκΈ° λ•Œλ¬Έμ— μžλ™μœΌλ‘œ 였래된 κ²ƒμœΌλ‘œ ν‘œμ‹œλ˜μ—ˆμŠ΅λ‹ˆλ‹€. 더 이상 ν™œλ™μ΄ λ°œμƒν•˜μ§€ μ•ŠμœΌλ©΄ νμ‡„λ©λ‹ˆλ‹€. κ·€ν•˜μ˜ 기여에 κ°μ‚¬λ“œλ¦½λ‹ˆλ‹€.

이것을 닫지 λ§ˆμ‹­μ‹œμ˜€. Firefox 60.9.0esrμ—μ„œλŠ” μ—¬μ „νžˆ μ†μƒλ˜μ—ˆμŠ΅λ‹ˆλ‹€.

@SystemParadox μ–΄λ–€ OSλ₯Ό μ‚¬μš©ν•˜κ³  μžˆμŠ΅λ‹ˆκΉŒ?

Linux (Debian 10). 아직 Windowsμ—μ„œ μ‚¬μš©ν•΄ λ³Ό κΈ°νšŒκ°€ μ—†μ—ˆμ§€λ§Œ λ‹€λ₯Έ 점이 맀우 이상해 λ³΄μž…λ‹ˆλ‹€.

νŽ˜λ„λΌ 30
λͺ¨λ‘ Firefox 69.0.1μ—μ„œ 잘 μž‘λ™ν•©λ‹ˆλ‹€.
Firefox Nightly 70.0a1μ—μ„œ 깨짐 (2019-08-21)

  • 68.10.0esrμ—μ„œ μž‘λ™
  • 78.0.2μ—μ„œ μž‘λ™

그듀이 70.0a1μ—μ„œ 그것을 κΉ¨λœ¨λ Έλ‹€λ©΄ 이것이 μ–΄λ–€ 이유둜 계속 κΉ¨μ§€λŠ” κ²ƒμ²˜λŸΌ 보일 κ²ƒμž…λ‹ˆλ‹€. λ‹€μ‹œ 깨지면 μ΅œμ†Œν•œμ˜ ν…ŒμŠ€νŠΈ μΌ€μ΄μŠ€λ₯Ό λ§Œλ“€κ³  νŒŒμ΄μ–΄ 폭슀 κ°œλ°œμžμ—κ²Œ 티켓을 μ œμΆœν•΄μ•Όν•©λ‹ˆλ‹€.

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