Если условие проверки на первое монтирование в useEffect не выполняется, возможно это происходит из-за того, что useEffect не запускается до рендера компонента, и следовательно, проверка на первое монтирование не имеет значения.
Чтобы изменить код и вызывать useEffect только при изменении deferredInput, можно добавить deferredInput в массив зависимостей эффекта вторым аргументом. Это заставит useEffect вызываться только при изменении значения deferredInput. Например:
```js
useEffect(() => {
// код, который будет выполнен при изменении deferredInput
}, [deferredInput]);
```
Что касается вывода значения false, а затем true при первом монтировании компонента, это может быть связано с тем, что значение deferredInput инициализируется значением false до запуска эффекта. Когда компонент монтируется, useEffect запускается с текущим значением deferredInput (false), а затем deferredInput изменяется на true. Поскольку эффект вызывается после рендера компонента, вы увидите последовательность выполнения такой: false -> true.