React.StrictMode запускает компоненты дважды, что может привести к повторным вызовам не чистых функций и других побочных эффектов. При этом порядок вывода в консоль может быть неопределенным.
1. При первом проходе компоненты выводится "1", затем компонента запускается повторно и выводится "1" второй раз. Это объясняет появление двух "1" в выводе.
2. Далее компонента выводит "3" и снова запускается повторно, в результате чего "3" выводится два раза.
3. После этого компонента выводит "2" и снова запускается повторно, что приводит к выводу "2" дважды.
4. Наконец, компонента выводит "4", затем запускается повторно и выводит "4" еще раз.
Таким образом, порядок вывода консоли зависит от внутренних механизмов React.StrictMode, и может быть неопределенным и меняться между разными запусками приложения.