我有一个json
文件,其中包含一系列Todos,我想将其渲染为调用我的reducer type: 'ADD_TODO'
的初始状态。哪里最好循环到dispatch
行动:
最好在Component中循环,添加每个Todo,如:
myInitialTodos.forEach(
(todo, id) => store.dispatch({
type: 'ADD_TODO',
id
})
)
或由reducer
撰写的其他ADD_TODO
,例如:
store.dispatch({
type: 'ADD_TODOS',
todos: myInitialTodos
})
在这两种情况下,都会在componentDidMount
(例如)时启动。
也许(最有可能)还有另一种更好的方法。
谢谢,
答案 0 :(得分:2)
最好添加单独的动作类型的ADD_TODOS并将一系列待办事项传递给你的reducer。如果您考虑最终在响应应用程序中添加后端,那么您不希望进行大量API调用来添加多个待办事项,而您只想发送一个网络请求。
编辑:此外,如果您总是希望将相同的待办事项列表添加到您的应用程序中,那么更好的方法是将它们置于您传递给reducer的初始状态,这样的事情就可以了诀窍:
const initialState = [{title: 'A sample todo', completed: false},{title: 'Another sample todo', completed: false}]
const todos = (state = initialState, action) => { //Reducer logic }