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, время: 14:29. |