Как написать функцию для кнопки в React Js

157
23 января 2020, 01:20

Для кнопки с HTML документа надо написать функцию для JS React которая считывает информацию с input type="text" и записывает в такую переменную.

var PLACES = [
{ name: "New York", zip: "10157" },
{ name: "Rome", zip: "00123" }
];
Answer 1

Попробуйте следующий вариант:

import React, { useState } from 'react';
const App = () => {
  const [places, setPlaces] = useState([]);
  const [newPlace, setNewPlace] = useState({});
  const handleCLick = () => {
    setPlaces([ ...places, newPlace]);
    setNewPlace({ name: '', zip: '' });
  }
  return (
    <>
      <div>
        <input
          placeholder="Enter place name"
          value={newPlace.name}
          onChange={e => setNewPlace({ ...newPlace, name: e.target.value })}
        />
      </div>
      <div>
        <input 
          placeholder="Enter place zip"
          value={newPlace.zip}
          onChange={e => setNewPlace({ ...newPlace, zip: e.target.value })}
        />
      </div>
      <button onClick={handleCLick}>Create Place</button>
      <h2>Places:</h2>
      {
        places.map(
          ({ name, zip }) => (
            <div key={name}>
              name: <b>{name}</b>, zip: <b>{zip}</b>
            </div>
          )
        )
      }
    </>
  )  
};
export default App;

Версия реакта должна быть не ниже 16.8.0

https://codepen.io/smolinpavel/full/KYvqqZ

READ ALSO
Подключение jQuery к html

Подключение jQuery к html

Пытаюсь подключить jQuery:

148
Как корректно задать размер таблицы?

Как корректно задать размер таблицы?

Есть вот такая табличка:

142
Доработка меню (Резиновое меню)

Доработка меню (Резиновое меню)

Есть проектПеределываю меню, контейнеров нет, ширину задаю в % (под популярные разрешения дисплеев через медиазапросы)

154
Кроссбраузерное решение для autoplay mp3

Кроссбраузерное решение для autoplay mp3

Здравствуйте уважаемы форумчанеНе подскажете ли вы как прийти к данному решению? Собственно сама суть в том что бы при получении сообщения...

140