UNPKG

linkmore-design

Version:

🌈 🚀lm组件库。🚀

52 lines (51 loc) 1.42 kB
import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2"; // 初始化状态值 var defaultState = { // 容器盒子大小 resize: { width: 0, height: 0 }, currentIndex: 0, // 当前选中的图片索引 currentUrl: '', // * 当前选中的图片链接 // 当前选中的图片变换 transform: { scale: 1, // 缩放倍数 rotateZ: 0 // Z轴旋转方向 } }; // 状态管理操作 export var reducer = function reducer(state, action) { var resize = action.resize, transform = action.transform, current = action.current; switch (action.type) { case 'changeResize': return _objectSpread(_objectSpread({}, state), {}, { resize: resize }); case 'changeTransform': // 改变转换 return _objectSpread(_objectSpread({}, state), {}, { transform: _objectSpread(_objectSpread({}, state.transform), transform) }); case 'changeCurrent': // 改变当前选中的图片 return _objectSpread(_objectSpread(_objectSpread({}, state), current), {}, { transform: defaultState.transform }); default: throw new Error(); } }; // 仅在初始化时触发一次 export var initialState = function initialState(props) { var initialIndex = props.initialIndex; return _objectSpread(_objectSpread({}, defaultState), {}, { currentIndex: initialIndex }); }; export default reducer;