在丹·阿布拉莫夫的优秀教程终极版工作,并在第一章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'反应类?它是否正确导入或定义? –