React, useState
Здравствуйте форумчане, начал изучать React. Дошел до состояний, и не могу понять одной (вероятнее всего элементарной) вещи. Есть код:
function App() { const [value1, setValue1] = useState(0); const [value2, setValue2] = useState(0); const [result, setResult] = useState(0); function handleChange1(event) { setValue1(event.target.value); } function handleChange2(event) { setValue2(event.target.value); } function handleClick() { setResult(Number(value1) + Number(value2)); } return <div> <input value={value1} onChange={handleChange1} /> <input value={value2} onChange={handleChange2} /> <button onClick={handleClick}>btn</button> <p>result: {result}</p> </div>; Подскажите, пожалуйста, зачем заводить const [result, setResult] = useState(0); Не проще было бы завести переменную Result, в которую бы попадал результат сложения введенных в инпуты чисел (const result = {Number(value1) + Number(value2)}? Объясните пожалуйста, может я что-то не понимаю? Заранее благодарен! |
Цитата:
Сама переменная и нафик не нужна. Можно использовать первые две переменные. Но использовать, как ты предложил, так же не получится. Цитата:
|
daniil4fun, и учись делать полные тестовые примеры. А так же правильно их на форуме оформлять. ;)
import React, {useState} from 'react';
import ReactDOM from 'react-dom';
//import './index.css';
function App() {
const [value1, setValue1] = useState(0);
const [value2, setValue2] = useState(0);
const [result, setResult] = useState(0);
function handleChange1(event) {
setValue1(event.target.value);
}
function handleChange2(event) {
setValue2(event.target.value);
}
function handleClick() {
setResult(Number(value1) + Number(value2));
}
return (
<div>
<input value={value1} onChange={handleChange1} />
<input value={value2} onChange={handleChange2} />
<button onClick={handleClick}>btn</button>
<p>result: {result}</p>
</div>
)
}
ReactDOM.render(
<App />,
document.getElementById('root')
);
|
daniil4fun,
Пожалуйста, отформатируйте свой код! Для этого его можно заключить в специальные теги: js/css/html и т.п., например: [html run] ... минимальный код страницы с вашей проблемой [/html] О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting. |
| Часовой пояс GMT +3, время: 02:01. |