При использовании инструментов разработчика Chrome или Firefox я не могу вглядываться в значения некоторых переменных редуктора. Например, newItem
на снимке экрана отладчика Chrome ниже:
Chrome:
Firefox:
Код работает нормально. Операторы журнала выводятся правильно, но проверка через отладчик просто показывает undefined
. Однако, если я посмотрю в представлении Scope, я увижу переменную с именем _newItem
, которая имеет все правильные свойства и значения (скрыты, поскольку они потенциально чувствительны).
Похоже, что эта проблема возникает, когда Я делаю небольшой клон состояния: let newState = {...state};
(либо с синтаксисом распространения, либо Object.assign({}, state)
.
Каждая последующая переменная, основанная на newState
, показывает undefined
, но имеет соответствующий _variableName[0-9]*
на устройстве tools Scope view.
Этого не происходит ни в наших компонентах React, ни в другом коде, не относящемся к редуктору.
Кажется, это может быть связано с Redux, исходными картами и инструментами разработчика, но Я не могу найти ничего, ищущего ни документацию Redux, ни трекер ошибок, ни трекер ошибок Chrome.
Redux: 4.0.5
ОС: Windows 10 x64
Протестировано на : Chrome: 81.0.4044.122
, канарейка: 84.0.4125.0
Firefox: 75.0
, версия для редакции: 76.0b4 (64-bit)
Примечание: это не то же самое, что this выпуск , который касается только Chrome оптимизаций переменных закрытия.