Неправильно ли использовать вызов ловушки React внутри условия?
Я знаю, что использовать его внутри условного блока неправильно, потому что это нарушит порядок звонков, и линтер предупреждает меня об этом.
import {useRouteMatch} from 'react-router-dom';
if (condition) {
useRouteMatch("/blog/:slug"); // <---- THIS IS WRONG AND IT BREAKS HOOK's RULES
}
Но это не вызывает никаких предупреждений, и, похоже, все работает нормально: не вызывает никаких предупреждений, и он работает нормально. Я знаю, что в большинстве случаев не имеет смысла вызывать ловушку внутри condition
, но в данном случае это так, потому что это в основном вспомогательная функция, которая, вероятно, знает о некоторых Context
.
ВОПРОС
Нарушает ли какое-либо правило крючка? Это нормально? Считается ли пребывание внутри if (condition)
на верхнем уровне?
![enter image description here](https://i.stack.imgur.com/p7EvQ.png)