Варнинги на то и варнинги, что система не уверена, что вы написали не то, что имели в виду.
useEffect без зависимостей выполнится при первом рендере компонента и всё; если же вы добавите что-то в зависимость (не doSomething), то калбек будет выполняться при каждом изменении зависимостей, НО doSomething будет использоваться из первого рендера, что с высокой вероятностью будет приводить к ошибкам. Именно по этой логике линтер действует по принципу: всё что используется в хуке, должно быть указано в зависимостях. И это отлично работает, пока все контрибюторы проекта в адеквате, код не раздулся до десятков (а то и сотен) тысяч строк и лично вы можете быть уверены, что функция doSomething действительно обновляется только в случае когда её нужно перевызвать (тоесть не обновляется).
Могу вам гарантировать, что если в прокте больше двух человек, и вы работаете над ним суммарно больше десяти тысяч часов чистого времени, то у вас в проекте обязательно что-то отвалится, из-за того, что в зависимостях прописали что-то, что линтер просил, но там быть не должно. Но и по обратной причние тоже. Конкретно в вашем случае лучше расширять список зависимостей не стоит. но каждый раз при написании/изменении хука надо думать отдельно.