У меня есть несколько значений, которые я хочу использовать в useEffect . Проблема заключается в том, что в нем есть условный оператор, который выполняется в соответствии с содержимым переданных значений:

Например, допустим, у меня есть два значения:

 const [value1, setValue1] = useState() const [value2, setValue2] = useState() useEffect(() ={amp}gt; { if(value1 || value2) { // first logic } else { // second logic } }, [value1, value2]) 

Это не будет работать, потому что useEffect запускается каждый раз, когда обновляется либо value1 либо value2 . Причина, по которой я этого не хочу, заключается в том, что если я хочу, чтобы «вторая логика» запускалась, когда value1 false , value2 обязательно должно быть false .

Я могу создать отдельный useEffect для отдельных значений, но логика внутри useEffect меня сейчас есть, очень длинная, и у меня есть 7, 8 значений, с которыми я работаю, поэтому я смотрю, чтобы найти более оптимальные решения.