Как отслеживать хуки React?

Прежде чем работать над новым проектом React, я хочу быть уверен, что существуют (или будут) хорошие инструменты разработчика для его поддержки.

Одна из вещей, которые мне нравятся в React, - это инструмент React Developer для Google Chrome. Это позволяет мне проверять внутреннее состояние каждого компонента.

Вопрос: Показывает ли инструмент разработчика React состояние перехватчиков компонента React?

Если нет, как я могу проверить состояние внутренних перехватчиков (эффект ака) вне компонента React?

еще нет
skyboyer 19.11.2018 20:09

поддержка инструменты разработчика для хуков - WIP и пока недоступен..

Shubham Khatri 19.11.2018 20:12
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
19
2
14 580
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

Короткий ответ: нет, React Devtool точно не показывает состояние хуков компонентов так, как вы хотите. Вы могли отслеживать прогресс его реализации здесь.

Длинный ответ - да, React Devtool технически показывает состояние хуков, но не в удобном для пользователя формате, к которому вы привыкли. Состояние отображается в необработанной форме реализации, которая напоминает связанный список:

{
  baseState: ...,
  baseUpdate: ...,
  memoizedState: ...,
  next: {
    baseState: ...,
    baseUpdate: ...,
    memoizedState: ...,
    next: ..., // The list goes on
    queue: ...,
  },
  queue: ...
}

Для простого компонента с двумя состояниями Devtool показывает состояние как объект с полем baseState в качестве первого значения состояния 'Mary', и есть поле next, которое указывает на другой объект состояния, который соответствует второму значению состояния, и имеет значение baseState. из 10.

function App() {
  const [name, setName] = useState('Mary');
  const [age, setAge] = useState(10);

  return (
    <div>
      <p>Name: {name}</p>
      <p>Age: {age}</p>
    </div>
  );
}

Ответ принят как подходящий

Сегодня Панель инструментов Chrome Developers React умеет показывать состояние хуков.

Смотрите прикрепленное изображение:

Как бы вы тогда вычислили название этого государства? На самом деле не имеет смысла просто использовать состояние и значение.

Tanckom 07.05.2020 10:46

@Tanckom На практике я не считаю это большой проблемой. У меня редко бывает так много похожих значений, что это сбивает с толку, и они появляются в инструментах разработчика в том же порядке, в котором они были созданы в компоненте, поэтому я всегда могу проверить свой код, если мне нужно дважды проверить.

J.D. Sandifer 30.09.2020 03:10

Вы можете проверить React.useState с помощью реагировать-отладочные хуки и Redux DevИнструменты

осмотреть предварительный просмотр

  const [state, setState] = React.useState({
    loading: false,
    users: [],
    error: null
  }, 'users')  // you need to set a second parameter 'string' that will be shown on Redux devTools. 

Другие вопросы по теме