Пустой массив deps означает, что useEffect
будет вызываться только каждый раз, когда компонент монтируется. useEffect
вызывается каждый раз, когда вы меняете страницу, потому что компонент страницы каждый раз отключается, а затем перемонтируется при повторном посещении. Например, попробуйте дважды щелкнуть ссылку на странице 1. Он будет регистрировать сообщение только один раз, поскольку страница не демонтируется и не перемонтируется.
Вы можете попытаться решить эту проблему, используя useEffect
уровень выше, чем страница, которая будет компонентом вашего приложения. и вместо этого вызовите там свой выбор. Однако я не уверен, что это можно сделать с помощью компонента класса, поэтому вам, возможно, придется использовать вместо него компонент функции.