Частота обновления `useSelector` зависит от множества факторов, таких как изменение данных, которые на него подписаны, и рендеринг компонента, в котором он используется. Вообще говоря, чем чаще данные, на которые подписан `useSelector`, обновляются, тем чаще будет вызываться `useSelector`.
Однако, вызов `useSelector` раз в миллисекунду - это необычно и, вероятно, указывает на проблему в коде. Возможно, что ваш селектор или компонент находятся в цикле обновления из-за изменения своих зависимостей. Нужно тщательно изучить ваш код, чтобы выяснить, что вызывает такую частую перерисовку.
По поводу использования `useSelector`, вам необходимо решить, какая часть стейта вам действительно нужна в вашем компоненте. Если вам нужен только один кусок стейта, то один экземпляр `useSelector` будет достаточным. Если вам нужно несколько кусков стейта, можно использовать несколько `useSelector`.
В любом случае, если вы добавляете на свои селекторы мемоизации, такие как `Reselect` или `Memoizee`, это поможет оптимизировать производительность, уменьшив частоту повторных вызовов `useSelector`.