在丹·阿布拉莫夫的優秀教程終極版工作,並在第一章27 - 生成容器與連接() - 一個奇怪的錯誤發生:作出反應,終極版的connect()方法拋出類型錯誤
首先,我定義這些兩個功能:
const mapStateToProps = (state) => {
return {
todos: getVisibleTodos(state.todos, state.visibilityFilter)
};
}
const mapDispatchToProps = (dispatch) => {
return {
onTodoClick: (id) => {
dispatch({
type: 'TOGGLE_TODO',
id
})
}
}
}
然後我導入必要的依賴關係:
import { connect } from 'react-redux'
然後,我創建採用t我的組件他的方法從react-redux中暴露出來,並傳入兩個函數,最後連接到我的其他組件TodoList
。
const VisibleTodoList = connect(mapStateToProps, mapDispatchToProps)(TodoList);
當我做到這一點,使瀏覽器無法呈現和控制檯回報:
TypeError: Cannot read property 'displayName' of undefined
我以前從來沒有碰到過這樣的錯誤,似乎具體到connect()
方法react-redux
。
有沒有人遇到過這個,和/或知道可能是什麼原因造成的?
UPDATE:
getVisibleTodos
如上所定義。如果其TodoList
你想看到...
const TodoList = ({todos, onTodoClick}) => (
<ul>
{todos.map(todo =>
<Todo key={todo.id}
{...todo}
onClick={() => onTodoClick(todo.id)}
/>
)}
</ul>
)
請向我們展示'getVisibleTodos'正在做什麼。 –
請參閱更新 – Paulos3000
你是什麼'TodoList'反應類?它是否正確導入或定義? –