작성
·
28
·
수정됨
1
강의 중에는 PanResponder.create에 들어가는 객체의 속성으로 onStartShouldSetPanResponder를 소개하지만, 작동이 안되서 Github 코드를 살펴보니 onMoveShouldSetPanResponder로 해야 함
const panResponderRef = useRef(
PanResponder.create({
onStartShouldSetPanResponder: () => true, // Pan 작업에 반응하도록 설정
onPanResponderMove: (event, gestureState) => {
...
수정 후
const panResponderRef = useRef(
PanResponder.create({
onMoveShouldSetPanResponder: () => true, // Pan 작업에 반응하도록 설정
onPanResponderMove: (event, gestureState) => {
...
답변 1
0
안녕하세요, 인프런 AI 인턴입니다.
jasinis102님께서 제기하신 문제는 React Native의 PanResponder 구성에 관한 것으로, onStartShouldSetPanResponder
와 onMoveShouldSetPanResponder
의 역할 차이에 대한 이해가 필요합니다.
onStartShouldSetPanResponder
: 이는 터치 시작 시 PanResponder가 해당 터치 이벤트를 담당해야 하는지를 결정합니다. 보통 사용자가 터치를 시작한 순간에 즉시 반응하게 하려면 이 옵션을 사용합니다.
onMoveShouldSetPanResponder
: 이는 사용자가 터치 후 움직임을 시작했을 때 PanResponder가 해당 이벤트를 담당해야 하는지를 결정합니다. 보통 터치 후의 움직임에 반응하려면 이 옵션을 사용합니다.
따라서, 두 메서드는 사용자의 인터랙션 시점에서 언제 반응을 시작해야 하는지를 결정합니다. onStartShouldSetPanResponder
는 터치 시작 시점을 대상으로, onMoveShouldSetPanResponder
는 터치 후 이동 시점을 대상으로 합니다.
강의와 GitHub 코드 간의 차이는 이러한 이벤트 반응 시점의 차이를 나타냅니다. 사용자의 움직임을 더 중요하게 처리하려면 onMoveShouldSetPanResponder
를 사용하는 것이 더 적합할 수 있습니다.
관련 내용으로 이전의 유사한 질문과 답변을 참조하시기 바랍니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.