Я знаю, что общий принцип состоит в том, чтобы избегать использования ловушек внутри цикла, условия или вложенной функции однако, что касается установки состояния, можно ли делать что-то подобное?
function myComponent() { const [myVar, setMyVar] = useState(); ... const nestedFunction = () => { if (condition) { setMyVar(value); } } }
Если нет, как я могу сделать это с помощью крючков?
Да, это совершенно нормально. Сеттер не является крючком. useState - единственный «крючок» в вашем примере.
useState