【发布时间】:2020-01-02 16:12:32
【问题描述】:
我有一个组件可以呈现三个多选框(姓名、工作、汽车)和一个数据网格。用户可以在三个过滤器中选择多个选项,然后过滤数据网格。
首先,我从useEffect 块中的远程服务器获取数据,并且数据网格呈现没有应用任何过滤器。接下来,用户可以选择一个(或两个或三个)过滤器,然后更新数据网格。对于每个更新数据网格的过滤器,我都有一个 onChange 函数。以下是我过滤数据网格的方式。
const onChange = () => filterbyName(filterByJob(filterByCar(data)))
其中data 是我在初始组件加载时获取的数据。
每当用户选择任何一个选项时,我都必须同时应用三个过滤器,例如作业,所选作业过滤器现在保存在状态中。姓名和汽车也是如此。
我的问题是如何避免三个嵌套函数调用,有没有更好的方法呢?
【问题讨论】:
-
嗨,使用
selectors可能对您的用例有用。我会选择github.com/reduxjs/reselect,这确实是一个很棒的选择器库
标签: reactjs