При отладке редуктора в браузере, почему я не вижу значение переменной? - PullRequest
6 голосов
/ 15 апреля 2020

При использовании инструментов разработчика Chrome или Firefox я не могу вглядываться в значения некоторых переменных редуктора. Например, newItem на снимке экрана отладчика Chrome ниже:

Chrome: Chrome screenshot

Firefox: Firefox screenshot

Код работает нормально. Операторы журнала выводятся правильно, но проверка через отладчик просто показывает 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 оптимизаций переменных закрытия.

1 Ответ

0 голосов
/ 26 апреля 2020

Чтобы увидеть значения редукторов, я обычно использую плагин Redux DevTools Extension так, чтобы он выглядел великолепно и позволял мне отлаживать каждое изменение состояния.

Если вы хотите увидеть документацию здесь, я оставляю ее для Вы: Расширение Redux DevTools

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...