UNPKG

linkmore-design

Version:

🌈 🚀lm组件库。🚀

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