-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathfilter.js
More file actions
28 lines (24 loc) · 1013 Bytes
/
filter.js
File metadata and controls
28 lines (24 loc) · 1013 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
const [stateData, setStateData] = useState([])
const [filterCondition_One, setFilterCondition_One] = useState("")
const [filterCondition_Two, setFilterCondition_Two] = useState("")
const filteredStateData = () => {
if (stateData.length) { // if stateData is not empty
let clone = [...stateData]; // clone the stateData
if (filterCondition_One.length) { // if filterCondition_One is not empty
clone = filterByCondition_One(clone, filterCondition_One); // filter the clone
}
if (filterCondition_Two.length) { // if filterCondition_Two is not empty
clone = filterByCondition_Two(clone, filterCondition_Two); // filter the clone
}
return clone.map((el) => {
return (
<Card key={el.id} data={el} someFunction={someFunction} />
);
});
}
};
const optimizedFilterStaTeData = () => {
// do if stateData is not empty
if (stateData.length) {
// clone the stateData
return({filteredStateData()})