Link Search Menu Expand Document
24 Марта 2024 г.

React. События

Содержание

Интерактивность - это считай базовая вещь.

Создадим базовый клик на кнопку, все так же как и в обычном js

import Button from "react-bootstrap/Button";

export default function TestButton () {
  function HandleClick()
  {
    console.log(1);
  }
  return (
    <>
      <Button variant="warning" onClick={HandleClick}>Кнопка</Button>
    </>
    )
}

// или передав функцию прям в обработчик
<>
    <Button variant="warning" onClick={function HandleClick()
    {
        console.log(1);
    }}>Кнопка</Button>
</>
// или передав анонимную функцию
<>
    <Button variant="warning" onClick={() => {console.log(1);}}>Кнопка</Button>
</>

Обработчики так же можно передавать в пропсах как обычный параметр.

Так же события срабатывают и на вложенных элементах.

Например, обернем вызов нашего компонента в div

<div onClick={() => {console.log('parent')}}>
    <TestButton></TestButton>
</div>

Тогда при клике на кнопку будет вызвано 2 обработчика.

Теперь создадим форму

// FormTest.jsx
import Button from 'react-bootstrap/Button';
import Form from 'react-bootstrap/Form';

// Убирвем действие по умолчанию e.preventDefault()
function FormTest() {
  return (
    <Form onSubmit={(e) => {e.preventDefault(); console.log('submit');}}>
      <Form.Group className="mb-3" controlId="formBasicEmail">
        <Form.Control type="email" placeholder="Enter email" />
      </Form.Group>
      <Button variant="primary" type="submit">
        Submit
      </Button>
    </Form>
  );
}

export default FormTest;

// Вызовем ее выше 
<FormTest></FormTest>

Возник вопрос или предложение пиши на почту alexsey_89@bk.ru или в Телеграмм канал

Дата публикации: 24 Марта 2024 г.

Содержание


Наверх

Последнее изменение страницы: 24 Марта 2024 г.