나는 ~ 5000 개의 요소 목록을 가지고 있으며 사용자가 지정한 searchPhrase
으로 필터링하고 싶습니다. 일반적으로 사용자는 필터링 구문의 첫 번째 문자를 입력 한 다음 두 번째와 세 번째를 입력합니다. 예를 들어 'a'
사용자 유형의 경우 'ab'
이면 'abc'
입니다.큰 목록의 성능 필터링
필터링 성능을 향상시키기 위해 reactjs/reselect 라이브러리를 사용하려고합니다. 그 구현에
export const getVisibleTodos = createSelector(
[ getVisibilityFilter, getTodos ],
(visibilityFilter, todos) => {
switch (visibilityFilter) {
case 'SHOW_ALL':
return todos
case 'SHOW_COMPLETED':
return todos.filter(t => t.completed)
case 'SHOW_ACTIVE':
return todos.filter(t => !t.completed)
}
}
)
: :이 방법을 변경 한 Example : 나는 추가 정보에 예에서와 같이이 lib 디렉토리를 사용하고 난 그 때마다 눈치
export const getVisibleTodos = createSelector(
[getSearchPhrase, getTodos],
(searchPhrase, todos) => {
return todos.filter((x) => {
return x.firstName.indexOf(searchPhrase) >= 0;
});
}
)
때 사용자 유형 다음 편지 todos.length
은 동일합니다. searchPhrase
이 길면 todos.length
을 더 짧게해서는 안됩니까? reactjs/reselect가없는 성능은 동일하다고 생각합니다.
이전 searchPhrase
의 부분 문자열이 searchPhrase
일 때 todos
목록을 더 짧게 필터링 할 수 있습니까?
설명해 주셔서 감사합니다. 그래서 나는이 도서관의 특징을 오해했다. 유사한 상황에서 도움이되는 도서관을 만난 적이 있습니까? – Andrzej