diff --git a/src/Slider.js b/src/Slider.js index d02d812e..e005399f 100644 --- a/src/Slider.js +++ b/src/Slider.js @@ -190,7 +190,8 @@ export default class Slider extends PureComponent { value: new Animated.Value(this.props.value), }; - componentWillMount() { + constructor(props) { + super(props); this._panResponder = PanResponder.create({ onStartShouldSetPanResponder: this._handleStartShouldSetPanResponder, onMoveShouldSetPanResponder: this._handleMoveShouldSetPanResponder, @@ -200,12 +201,13 @@ export default class Slider extends PureComponent { onPanResponderTerminationRequest: this._handlePanResponderRequestEnd, onPanResponderTerminate: this._handlePanResponderEnd, }); - }; + } - componentWillReceiveProps(nextProps) { - var newValue = nextProps.value; + componentDidUpdate(prevProps) { + const oldValue = prevProps.value; + const newValue = this.props.value; - if (this.props.value !== newValue) { + if (newValue !== oldValue) { if (this.props.animateTransitions) { this._setCurrentValueAnimated(newValue); } @@ -213,7 +215,7 @@ export default class Slider extends PureComponent { this._setCurrentValue(newValue); } } - }; + } render() { var {