respond-framework
Version:
create as fast you think
36 lines (35 loc) • 977 B
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _react = require("react");
var _reactNative = require("react-native");
var _utils = require("../../../utils.js");
const useFlip = (show, duration = 225) => {
const anim = (0, _react.useRef)(new _reactNative.Animated.Value(show ? 1 : 0)).current;
const [state, set] = (0, _react.useState)(show);
(0, _react.useEffect)(() => {
if (state === show) return;
set(show);
_reactNative.Animated.timing(anim, {
toValue: show ? 1 : 0,
duration,
easing: _reactNative.Easing.sin,
useNativeDriver: _utils.useNativeDriver
}).start();
}, [show]);
const rotateX = anim.interpolate({
inputRange: [0, 1],
outputRange: ['270deg', '360deg']
});
const opacity = anim.interpolate({
inputRange: [0, .1, 1],
outputRange: [0, 1, 1]
});
return {
rotateX,
opacity
};
};
var _default = exports.default = useFlip;