linkmore-design
Version:
🌈 🚀lm组件库。🚀
72 lines (70 loc) • 1.4 kB
JavaScript
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.reducer = exports.initialState = exports.default = void 0;
// 初始化状态值
const defaultState = {
// 容器盒子大小
resize: {
width: 0,
height: 0
},
currentIndex: 0,
// 当前选中的图片索引
currentUrl: '',
// * 当前选中的图片链接
// 当前选中的图片变换
transform: {
scale: 1,
// 缩放倍数
rotateZ: 0 // Z轴旋转方向
}
};
// 状态管理操作
const reducer = (state, action) => {
const {
resize,
transform,
current
} = action;
switch (action.type) {
case 'changeResize':
return {
...state,
resize
};
case 'changeTransform':
// 改变转换
return {
...state,
transform: {
...state.transform,
...transform
}
};
case 'changeCurrent':
// 改变当前选中的图片
return {
...state,
...current,
transform: defaultState.transform
};
default:
throw new Error();
}
};
// 仅在初始化时触发一次
exports.reducer = reducer;
const initialState = props => {
const {
initialIndex
} = props;
return {
...defaultState,
currentIndex: initialIndex
};
};
exports.initialState = initialState;
var _default = reducer;
exports.default = _default;
;