You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在UI中不显示Redux Toolkit的initialState初始数据?

移除Redux Toolkit初始测试数据的方法

核心解决步骤

你的初始测试内容来自initialState里预设的测试项,直接将初始状态改为空数组即可移除初始显示:

// 修改前
const initialState: TodolistState = [{
  id: Date.now(),
  title: 'test title',
  body: 'test body',
  done: false
}]

// 修改后
const initialState: TodolistState = []

额外修复:删除功能的潜在bug

你的remove reducer当前存在逻辑问题:用数组索引作为id传入并执行splice,但如果待办项顺序变化(比如删除中间项),索引会和真实的todo id脱节,导致删除错误。正确写法应该通过todo的真实id定位后删除:

remove: (state, action: PayloadAction<{ id: number }>) => {
  const targetIndex = state.findIndex(todo => todo.id === action.payload.id);
  if (targetIndex !== -1) {
    state.splice(targetIndex, 1);
  }
}

同时在组件里调用remove时,要传入todo的真实id而非数组索引:

// 修改前
dispatch(remove({ id: index, done: true }))

// 修改后
dispatch(remove({ id: val.id }))

内容的提问来源于stack exchange,提问作者W.A Rajinda

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.28 15:12:40