Я использую повторный выбор в своем коде ReactJs. Вот фрагмент кода. Из-за большого размера файла я опускаю из него ненужный код.
import { createSelector } from 'reselect';
const todoSelector = state => state.todo.todos;
const searchTermSelector = state => state.todo.searchTerm;
const searchViewSelector = state => state.todo.userView
export const filteredTodos = createSelector(
[todoSelector, searchTermSelector, searchViewSelector],
(todos, searchTerm, searchView) => {
return todos.filter(todo => todo.title.match(new RegExp(searchTerm, 'i')));
}
);
Как вы можете заметить, параметры для createSelector
. Как мы знаем, createSelector
ожидает 2 аргумента: массив входных селекторов в качестве 1-го аргумента и функцию в качестве 2-го аргумента.
В этом случае массив входных селекторов равен 3. ([todoSelector, searchTermSelector, searchViewSelector]
)
Но в моем фактическом коде массив селекторов ввода равен 9. Мне нужно уменьшить количество с 9 до менее 4 из-за проблем с эхолотом.
Как я могу свести к минимуму массив селекторов ввода и при этом заставить его работать должным образом. Я много ищу в Интернете, но я не нашел ничего, связанного с этим. Пожалуйста, любые предложения?
searchViewSelector
в качестве одного из своих входов, но значениеsearchView
затем игнорируется, поэтому, следуя приведенному примеру, вы можете просто удалитьsearchViewSelector
из входов селектора. Если вам нужен реальный совет, вы должны продемонстрировать реальную проблему. - person HMR   schedule 15.06.2020