我刚开始学习reactjs& redux并试图将项目添加到列表中。这是我的根组件:
//create store based on reducer
const store = createStore(listItem)
const rootEl = document.getElementById('root')
//render root component
const render = () => ReactDOM.render(
<List
addToList={() => store.dispatch({ type: 'ADD_TO_LISTS' },'testing')}
/>,
rootEl
)
//call
render()
//subscribe the store
store.subscribe(render)
在列表组件中,render方法如下所示:
render() {
const { addToList } = this.props
return (
<p>
<input type="text" />
<button onClick={addToList}>add</button>
</p>
)
}
reducer看起来像这样:
const listItem = (state, action) => {
switch (action.type) {
case 'ADD_TO_LIST':
return [...state,action.text]
default:
return state
}
}
然而,当我运行应用程序时,它会抛出一个错误:
Uncaught error: expected reducer to be a function
我的代码有什么问题?
答案 0 :(得分:1)
我想通了,忘了把出口默认的listItem&#39;在减速机的末尾