React-native-gesture-handler: ์•ˆ๋“œ๋กœ์ด๋“œ์˜ ๋ฉ€ํ‹ฐํ„ฐ์น˜ ํ•ธ๋“ค๋Ÿฌ

์— ๋งŒ๋“  2017๋…„ 10์›” 26์ผ  ยท  4์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: software-mansion/react-native-gesture-handler

๋ฉ€ํ‹ฐ ํ„ฐ์น˜ ๋ณด๊ธฐ๋ž€ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฒƒ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.

<View
    onTouchStart={() => { console.log('pressing left button'); }}
    onTouchEnd={() => { console.log('releasing left button'); }}
>
    {...}
</View>
<View
    onTouchStart={() => { console.log('pressing right button'); }}
    onTouchEnd={() => { console.log('releasing right button'); }}
>
    {...}
</View>

์•„์ด๋””์–ด๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ๋ฌด์–ธ๊ฐ€๊ฐ€ ํŠธ๋ฆฌ๊ฑฐ๋˜๊ธฐ ์œ„ํ•ด ์™ผ์ชฝ ๋ฐ ์˜ค๋ฅธ์ชฝ ๋ฒ„ํŠผ์„ ๋ชจ๋‘ ๋ˆ„๋ฅด๊ณ  ์žˆ์–ด์•ผ ํ•œ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค(๋‘˜ ๋‹ค ๋ˆŒ๋ฆด ๋•Œ๊นŒ์ง€ ๊ธฐ๋‹ค๋ฆฌ๋Š” ๋น„ํŠธ๋Š” ์œ„์˜ ์˜ˆ์—๋Š” ์—†์ง€๋งŒ ๋‘ ๊ฐœ์˜ ํ„ฐ์น˜ ๊ฐ€๋Šฅ ์š”์†Œ๊ฐ€ ๋ณ„๋„์˜ ์š”์†Œ๋ผ๋Š” ๊ฒƒ์„ ๋ถ„๋ช…ํžˆ ํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค. ).

์ด๊ฒƒ์€ iOS์—์„œ๋Š” ์ž˜ ์ž‘๋™ํ•˜์ง€๋งŒ Android์—์„œ๋Š” ์ž‘๋™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค: https://github.com/facebook/react-native/issues/10068 ๊ด€๋ จ

๊ทธ๋ž˜์„œ ์ด ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ทธ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๊ธฐ๋ฅผ ๋ฐ”๋ž์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ž‘๋™ํ•˜์ง€ ์•Š๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์œ„์˜ ๋‚ด์šฉ์„ ๋‹ค์Œ์œผ๋กœ ๋Œ€์ฒดํ•˜์‹ญ์‹œ์˜ค.

<BaseButton
  onActiveStateChange={(isActive) => {
    if (isActive) {
      console.log('pressing left button');
    } else {
      console.log('releasing left button');
    }
  }}
>
  {...}
</BaseButton>
<BaseButton
  onActiveStateChange={(isActive) => {
    if (isActive) {
      console.log('pressing right button');
    } else {
      console.log('releasing right button');
    }
  }}
>
  {...}
</BaseButton>

๊ทธ๋Ÿฌ๋‚˜ View ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ๊ณผ ๋™์ผํ•œ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ํ•œ ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅธ ์ƒํƒœ์—์„œ ๋‹ค๋ฅธ ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅด๋ฉด ์›๋ž˜ ๋ฒ„ํŠผ์˜ ํ•ธ๋“ค๋Ÿฌ(Android์—์„œ)๊ฐ€ ํŠธ๋ฆฌ๊ฑฐ๋ฉ๋‹ˆ๋‹ค.

์—ฌ๊ธฐ์— simultaneousHandlers ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์ด ์žˆ์Šต๋‹ˆ๊นŒ?

Feature request

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

์•ˆ๋…•ํ•˜์„ธ์š” @yossarin @rgangopadhya

๊ทธ๋ƒฅ ๋‹น์‹ ์ด ์šฐ๋ฆฌ๊ฐ€์— ๋Œ€ํ•œ ์ง€์›์„ ์ถ”๊ฐ€ PR์„ ํ†ตํ•ฉ ํ•œ ์•Œ๋ ค์ฃผ : https://github.com/kmagiera/react-native-gesture-handler/commit/4036fba2fbc7e05d1fea340676a2975594936e8c

๋ฐ๋ชจ๋Š” ์—ฌ๊ธฐ: https://twitter.com/kzzzf/status/1015907930649055233

๊ฝค ์˜ค๋žœ ์‹œ๊ฐ„์ด ์ง€๋‚œ ํ›„ ๋งˆ์นจ๋‚ด ์ด ๋ฌธ์ œ๋ฅผ ๋งˆ๋ฌด๋ฆฌํ•˜๊ฒŒ ๋˜์–ด ๊ธฐ์ฉ๋‹ˆ๋‹ค. ์งˆ๋ฌธ์ด ์žˆ๊ฑฐ๋‚˜ ์ด์— ๋Œ€ํ•ด ๋” ๋…ผ์˜ํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด ์–ธ์ œ๋“ ์ง€ ๋‹ค์‹œ ์—ด๊ฑฐ๋‚˜ ์ƒˆ ๋ฌธ์ œ๋ฅผ ๋งŒ๋“œ์‹ญ์‹œ์˜ค.

๋ชจ๋“  4 ๋Œ“๊ธ€

์•ˆ๋…•ํ•˜์„ธ์š”,

Android์—์„œ ๋ฉ€ํ‹ฐ ํ„ฐ์น˜ ํ•ธ๋“ค๋Ÿฌ๋ฅผ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐ ์žฅ์• ๋ฌผ์ด ๋ฌด์—‡์ธ์ง€ ๊ถ๊ธˆํ•ฉ๋‹ˆ๋‹ค.
(๋ฌผ๋ก  ์ด ๊ธฐ๋Šฅ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค)

์ด ๋ฌธ์ œ๋ฅผ ๋„์™€๋“œ๋ฆฌ๊ณ  ์‹ถ์–ด์„œ ์งˆ๋ฌธํ•ฉ๋‹ˆ๋‹ค. ํ˜น์‹œ ์ €๋ฅผ ์œ„ํ•œ ์กฐ์–ธ์ด ์žˆ์œผ์‹ ๊ฐ€์š”? :) @kmagera

์•ˆ๋…•ํ•˜์„ธ์š” @yossarin @rgangopadhya

๊ทธ๋ƒฅ ๋‹น์‹ ์ด ์šฐ๋ฆฌ๊ฐ€์— ๋Œ€ํ•œ ์ง€์›์„ ์ถ”๊ฐ€ PR์„ ํ†ตํ•ฉ ํ•œ ์•Œ๋ ค์ฃผ : https://github.com/kmagiera/react-native-gesture-handler/commit/4036fba2fbc7e05d1fea340676a2975594936e8c

๋ฐ๋ชจ๋Š” ์—ฌ๊ธฐ: https://twitter.com/kzzzf/status/1015907930649055233

๊ฝค ์˜ค๋žœ ์‹œ๊ฐ„์ด ์ง€๋‚œ ํ›„ ๋งˆ์นจ๋‚ด ์ด ๋ฌธ์ œ๋ฅผ ๋งˆ๋ฌด๋ฆฌํ•˜๊ฒŒ ๋˜์–ด ๊ธฐ์ฉ๋‹ˆ๋‹ค. ์งˆ๋ฌธ์ด ์žˆ๊ฑฐ๋‚˜ ์ด์— ๋Œ€ํ•ด ๋” ๋…ผ์˜ํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด ์–ธ์ œ๋“ ์ง€ ๋‹ค์‹œ ์—ด๊ฑฐ๋‚˜ ์ƒˆ ๋ฌธ์ œ๋ฅผ ๋งŒ๋“œ์‹ญ์‹œ์˜ค.

Android์—์„œ๋Š” ์—ฌ์ „ํžˆ ์ด ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜์ง€๋งŒ iOS์—์„œ๋Š” ๋ฌธ์ œ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ๋‚˜๋Š” ์ตœ์‹  ๋ฒ„์ „์ž…๋‹ˆ๋‹ค. ์–ด๋–ค ์ œ์•ˆ?

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰