@cake-fxd/rn-case
Version:
ReactNative Case
1 lines • 1.2 kB
JavaScript
;var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports["default"]=void 0;var _slicedToArray2=_interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));var _react=require("react");var _reactNative=require("react-native");var _config=require("../util/config");var useLeaveAnimate=function useLeaveAnimate(cb){var _useState=(0,_react.useState)(new _reactNative.Animated.Value(0)),_useState2=(0,_slicedToArray2["default"])(_useState,1),translateX=_useState2[0];(0,_react.useEffect)(function(){var listener=_reactNative.DeviceEventEmitter.addListener(_config.CASE_LEAVE_EVENT,function(){startLeaveAnimate(cb);});return function(){listener.remove();};},[]);var startLeaveAnimate=(0,_react.useCallback)(function(cb){_reactNative.Animated.timing(translateX,{toValue:-_config.WIDTH,useNativeDriver:false,duration:260}).start(cb);},[]);var getLaveAnimateStyle=(0,_react.useCallback)(function(){return{transform:[{translateX:translateX}]};},[]);return{startLeaveAnimate:startLeaveAnimate,getLaveAnimateStyle:getLaveAnimateStyle};};var _default=useLeaveAnimate;exports["default"]=_default;