循环在 Redux 中调度减速器

Loop to dispatch a reducer in Redux

我有一个 json 文件,其中包含一组待办事项,我想将其呈现为调用我的减速器 type: 'ADD_TODO' 的初始状态。在哪里更好地循环到 dispatch 操作:

最好在组件中循环,添加每个单独的待办事项,例如:

myInitialTodos.forEach(
  (todo, id) => store.dispatch({
    type: 'ADD_TODO',
    id
  })
)

或另一个reducerADD_TODO组成,例如:

store.dispatch({
  type: 'ADD_TODOS',
  todos: myInitialTodos
})

在这两种情况下,在 componentDidMount 时启动(例如)。

也许(而且很可能)还有另一种更好的方法。

谢谢,

添加单独的 ADD_TODOS 操作类型并将待办事项数组传递给您的 reducer 绝对更好。如果您考虑最终向您的 React 应用程序添加后端,您不会希望进行一堆 API 调用来添加多个待办事项,您只想发送一个网络请求。

编辑:此外,如果您总是想将相同的待办事项列表添加到您的应用程序以启动,更好的方法是将它们置于您传递给减速器的初始状态,比如这可以解决问题:

const initialState = [{title: 'A sample todo', completed: false},{title: 'Another sample todo', completed: false}]

const todos = (state = initialState, action) => { //Reducer logic }