@Artem641

Почему useState отказывается работать когда массив объявлен через const?

У меня два состояния - в первом массив объявлен через let, а во втором через const.
Второе состояние (value) работает прекрасно, а вот первое не хочет работать через const.
import { useState } from 'react'
import './App.css'

export const App = () => {
  let [counter, setCounter] = useState(0)
  const [value, setValue] = useState('---')

  const increment = () => {
    counter = setCounter(counter + 1)
  }

  const decrement = () => {
    counter = setCounter(counter - 1)
  }
  console.log(counter)
  return (
    <div className="wrapper">
      <h1>counter: {counter}</h1>
      <h2>{value}</h2>
      <input
        type="text"
        value={value}
        onChange={(e) => {
          setValue(e.target.value)
        }}
      />
      <button onClick={increment}>increment</button>

      <button onClick={decrement}>decrement</button>
    </div>
  )
}
  • Вопрос задан
  • 106 просмотров
Пригласить эксперта
Ответы на вопрос 1
themm_s
@themm_s
У меня все работает, как через let так и через const
import { useState } from 'react';
import './App.css';

export const Test = () => {
  let [counter, setCounter] = useState(0);
  const [value, setValue] = useState('---');

  const increment = () => {
    counter = setCounter(counter + 1);
  };

  const decrement = () => {
    counter = setCounter(counter - 1);
  };
  console.log(counter);
  return (
    <div className="wrapper">
      <h1>counter: {counter}</h1>
      <h2>{value}</h2>
      <input
        type="text"
        value={value}
        onChange={(e) => {
          setValue(e.target.value);
        }}
      />
      <button onClick={increment}>increment</button>

      <button onClick={decrement}>decrement</button>
    </div>
  );
};
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
01 июн. 2024, в 14:06
3000 руб./за проект
01 июн. 2024, в 13:54
10000 руб./за проект