Search icon CANCEL
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Conferences
Free Learning
Arrow right icon
Arrow up icon
GO TO TOP
Mastering React Native

You're reading from   Mastering React Native Learn Once, Write Anywhere

Arrow left icon
Product type Paperback
Published in Jan 2017
Publisher Packt
ISBN-13 9781785885785
Length 496 pages
Edition 1st Edition
Languages
Tools
Arrow right icon
Authors (2):
Arrow left icon
Eric Masiello Eric Masiello
Author Profile Icon Eric Masiello
Eric Masiello
Jacob Friedmann Jacob Friedmann
Author Profile Icon Jacob Friedmann
Jacob Friedmann
Arrow right icon
View More author details
Toc

Table of Contents (13) Chapters Close

Preface 1. Building a Foundation in React FREE CHAPTER 2. Saying HelloWorld in React Native 3. Styling and Layout in React Native 4. Starting our Project with React Native Components 5. Flux and Redux 6. Integrating with the NYT API and Redux 7. Navigation and Advanced APIs 8. Animation and Gestures in React Native 9. Refactoring for Android 10. Using and Writing Native Modules 11. Preparing for Production 12. React Native Tools and Resources

Using PanResponder with the Animated API


To round out our animation chapter, we'll explore one more very powerful way to leverage animation. PanResponder is a React Native API for tracking simple gestures. We can use PanResponder to track the user dragging their finger across the screen as a way to transition from panel to panel. As usual, we'll begin by importing PanResponder at the top of our file:

import { 
  StyleSheet, 
  View, 
  LayoutAnimation, 
  Animated, 
  PanResponder 
} from 'react-native'; 

PanResponder needs to track the value of state.pan as it updates. We'll do this by adding a componentWillMount lifecycle method. Here, we'll listen to changes in state.pan by utilizing the addListener method. We'll also add a componentWillUnmount method to remove the listener once the component is unmounted:

componentWillMount() { 
  this.dragPosition = 0; 
  this.panListener = this.state.pan.addListener((value) => { 
    this.dragPosition = value.value; 
  }); 
} 
 
componentWillUnmount...
lock icon The rest of the chapter is locked
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at €18.99/month. Cancel anytime