Да это и я понимаюЗачем тогда вы в заголовке вопроса написали, что не понимаете? ¯\_(ツ)_/¯
как это можно исправить или по другому реализоватьВсё зависит от того, чего вы хотите добиться. На таком упрощённом коде сложно понять реальную задачу, а конкретное решение подбирается именно под неё.
Наткнулся случайно на обсуждение вопроса, что оптимизация реакт компонента обыгрывается через замену useState на использование useReducerДайте ссылку на это бредовое обсуждение.
И получилось, что в resolveDispatcher наш dispatcher равен nullНет, не получается. Он может быть равен null, но не равен ему всегда. Ищите места, где идёт присваивание в ReactCurrentDispatcher.current.
.picture-light,
html[data-theme="dark"] .picture-light {
display: none;
}
html[data-theme="light"] .picture-light, {
display: block;
}
html[data-theme="light"] .picture-dark, {
display: none;
}