linkmore-design
Version:
🌈 🚀lm组件库。🚀
35 lines (34 loc) • 861 B
JavaScript
import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
var defaultState = {
visible: false,
zoom: 1,
// 缩放
rotation: 0,
// 选装
crop: {
x: 0,
y: 0
},
// 裁剪
croppedAreaPixels: null,
// 画布裁剪位置
croppedImage: null // 裁剪后的图片File
};
// 状态管理操作
export var reducer = function reducer(state, action) {
var result = action.result,
init = action.init;
switch (action.type) {
case 'changeInit':
return _objectSpread(_objectSpread(_objectSpread({}, state), defaultState), init);
case 'changeResult':
return _objectSpread(_objectSpread({}, state), result);
default:
throw new Error();
}
};
// 仅在初始化时触发一次
export var initialState = function initialState() {
return _objectSpread({}, defaultState);
};
export default reducer;