Javascript 为什么会出现类型错误:无法读取属性';已完成';未定义的?
我为todo reactjs应用程序开发了一个减速机。这是减速器的一部分:Javascript 为什么会出现类型错误:无法读取属性';已完成';未定义的?,javascript,reactjs,react-redux,Javascript,Reactjs,React Redux,我为todo reactjs应用程序开发了一个减速机。这是减速器的一部分: case "SHOWCOMPLETE": //todo remove debugger; return state.map(todo => { if (todo.completed) { return todo }
case "SHOWCOMPLETE":
//todo remove
debugger;
return state.map(todo => {
if (todo.completed) {
return todo
}
else
{}
})
这是为了显示具有已完成:true的TODO。但是,todos组件呈现此错误。这是组件的一部分:
if (this.props.todos) {
//todo remove
console.log('testing=this.props', this.props);
display = this.props.todos.map
(
(todo) => (
<p className={todo.completed ? 'strikethrough' : ''}
onClick={() => this.complete(todo.name)}> {todo.name}!</p>
)
)
}
if(this.props.todos){
//待办事项删除
log('testing=this.props',this.props);
display=this.props.todos.map
(
(待办事项)=>(
this.complete(todo.name)}>{todo.name}
)
)
}
为什么会出现这个错误?这里有一个github链接:您真正想做的是使用
过滤器
,而不是映射
。当您使用map
时,您会得到:
a=[1,2,3].map(n=>{if(n!==2)返回n})
log('a=',a)//结果=[1,未定义,3]代码>