webapp/src/redux/features/app/appSlice.ts
(完整代码) 1KB// Copyright (c) Microsoft. All rights reserved.
import { createSlice, PayloadAction } from '@reduxjs/toolkit';
import { Alert, Alerts, AppState } from './AppState';
const initialState: AppState = {};
export const appSlice = createSlice({
name: 'app',
initialState,
reducers: {
setAlerts: (state: AppState, action: PayloadAction<Alerts>) => {
state.alerts = action.payload;
},
addAlert: (state: AppState, action: PayloadAction<Alert>) => {
const keys = Object.keys(state.alerts ?? []);
let newIndex = keys.length.toString();
if (keys.length >= 3) {
newIndex = keys[0];
delete state.alerts![newIndex];
}
state.alerts = { ...state.alerts, [newIndex]: action.payload };
},
removeAlert: (state: AppState, action: PayloadAction<string>) => {
if (state.alerts) delete state.alerts[action.payload];
},
},
});
export const { addAlert, removeAlert, setAlerts } = appSlice.actions;
export default appSlice.reducer;
24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明
AI 解读
登录后可用,每次 10 积分,解读结果公开显示在下面。
还没有人解读过这个文件。
