#redux #middleware
#redux #промежуточное ПО
Вопрос:
У меня есть немного кода, который выглядит примерно так
export default function fooMiddleware({ dispatch, getState }) {
return next => action => {
if (type === TYPES.REGISTER_FOO_INITIALIZED) {
next(action); // return next?
}
if (someOtherCondition) {
dispatch(ACTIONS.loadDates());
}
}
next(action);
};
}
Нужно ли мне явно next
использовать функции (а именно первую) return
или это не имеет значения в данном случае.
Ответ №1:
Нет, это не неявно. Это просто обычная функция. Если вы на самом деле ничего не return
делаете, это то же самое, что return undefined
.
Хорошее промежуточное программное обеспечение Redux всегда должно возвращать результат next(action)
, если только оно специально не пытается переопределить возвращаемое значение и заменить что-то другое (или перехватывает действие и вообще не передает его). В противном случае более позднее промежуточное программное обеспечение, которое пытается что-то вернуть, никогда не будет возвращать это значение, как предполагалось.