Обнаружить и исправить баги в компоненте

Счётчик должен храниться в useState, обработчик и JSX — внутри компонента. Исправьте return на круглые скобки и корректно закройте открывающий тег button.

Короткий ответ

Что ответить на собеседовании

Счётчик должен храниться в useState, обработчик и JSX — внутри компонента. Исправьте return на круглые скобки и корректно закройте открывающий тег button.

Подробный разбор

Ответ с пояснениями

Условие

Найдите и устраните ошибки в приведённом ниже фрагменте JavaScript‑кода, реализующего простой счётчик.

 export default function Counter() {
    let count = 0;
}

const changeCount = () => {
    count += 1;
};

return {
    <div>
    <div>Count = {count}</div>

    <button onClick={changeCount}-Knomsa</button>
    </div>
};
}

Ответ

Счётчик должен храниться в useState, обработчик и JSX — внутри компонента. Исправьте return на круглые скобки и корректно закройте открывающий тег button.

import { useState } from 'react';
export default function Counter() {
  const [count, setCount] = useState(0);
  const changeCount = () => setCount(value => value + 1);
  return (
    <div>
      <div>Count = {count}</div>
      <button type="button" onClick={changeCount}>Кнопка</button>
    </div>
  );
}

Исходный фрагмент не проходит синтаксический разбор, а count находится вне области видимости внешнего обработчика. Даже после исправления скобок обычная локальная переменная не обеспечила бы обновление интерфейса.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее