所以,我有一个简单的todos应用程序,在Redux上有状态存储。我正在尝试为它做一个正确的过滤,但我现在陷入了这个问题 - 我的过滤已经切断了我的状态存储,只是根据{{1中的条件重新呈现状态所需的一部分} filter
(reducer
和其他)。
我也在官方的Redux网站上看到了这个例子,但我无法弄清楚这个问题。这篇文章Redux: what is the correct way to filter a data array in reducer?,但我不清楚......
如果你知道的话,请 - 帮助(...
/ * REDUCERS * /
VISIBLE_TODO_ALL
答案 0 :(得分:1)
过滤后的数据不应该处于redux状态,而是必须将整个数据保存在redux存储中并过滤掉,同时显示为
class Todos extends React.Component {
render() {
const { filterParam } = this.props;
return (
<div>{this.props.todoItems.todos &&
this.props.todoItems.todos.filter(iteam =>
iteam.status === filterParam
).map(todo => {
return <div>{todo}</div>
})}</div>
)
}
}
const mapStateToProps(state) {
todoItems: state.iteams
}
export default connect(mapStateToProps)(Todos);