У меня есть следующий код -
Вот код для visibilityFilter:
const visibilityFilter = ( state = "SHOW_All", action ) => {
switch(action.type){
case 'SET_VISIBILITY_FILTER':
return action.filter;
default:
return state;
}
}
Ниже приведен код getVisibleTodos:
const getVisibleTodos= (
todos = [],
filter
) => {
switch(filter){
case 'SHOW_ALL':
return todos;
case 'SHOW_ACTIVE':
return todos.filter(
t => !t.completed
);
case 'SHOW_COMPLETED':
return todos.filter(
t => t.completed
);
}
}
class Todo extends Component {
render(){
const visibleTodos = getVisibleTodos(
this.props.values,
this.props.visibilityFilter
)
return(
<div>
<label>Enter your item</label>
<br />
<input
type="text"
ref = { node => this.input = node }
/>
<button onClick={() => {
store.dispatch({
type: 'ADD_TODO',
id: nextToDoId++,
text: this.input.value
});
this.input.value = '';
}}>
Submit
</button>
<br />
<ul>
**{visibleTodos.map(value => <li key={value.id}**
onClick={() => {
store.dispatch({
type:
'TOGGLE_TODO',
id: value.id
})
}}
style={{
textDecoration:
value.completed
?
'line-
through' :
'none'
}}>
{`${value.text} `}
</li>
)}
</ul>
<p>
Show: {' '}
<FilterLink filter="SHOW_ALL">
All
</FilterLink>
{' '}
<FilterLink filter="SHOW_ACTIVE">
Active
</FilterLink>
{' '}
<FilterLink filter="SHOW_COMPLETED">
Completed
</FilterLink>
</p>
</div>
)
}
}
В частности, яполучаю ошибку в строке, которая содержит {visibleTodos.map
Я получаю сообщение об ошибке TypeError: Невозможно прочитать свойство 'map' из неопределенного.Я не могу найти решение этой ошибки.Пожалуйста, помогите!
Я следую учебнику по Redux Дана Абрамова на egghead.io