如何用Vanilla JS和Redux制作多计数器应用程序

dbf7pr2w  于 2022-11-12  发布在  其他
关注(0)|答案(1)|浏览(141)

这是我的代码。我想用vanilla js和redux创建多个计数器应用程序。但是当我点击“Add”字段时,它只是改变了我的主计数器值--而不是创建一个新的计数器本身。但是我想让它在点击“Add”按钮时创建另一个计数器。例如,检查链接。
Wanna make the actual same
我的代码中有什么需要更改?
第一个

myss37ts

myss37ts1#

使用RTK管理实体的最佳方法是使用createEntityAdapter实用程序

interface Counter {
  id: string
  value: number
}

const counterAdapter = createEntityAdapter<Counter>({
  selectId: (counter) => counter.id,
  sortComparer: (a, b) => a.value.localeCompare(b.value),
})

export const {
  selectById: selectCounterById,
} = usersAdapter.getSelectors()

const counterSlice = createSlice({
  name: 'counter',
  initialState: counterAdapter.getInitialState(),
  reducers: {
    increment(state, action: PayloadAction<{ id: string }>) {
      const counter = selectCounterById(state, action.payload.id);
      counter.value = counter.value + 1;
      counterAdapter.upsertOne(state, counter);
    },
  },
})

相关问题