Как организовать замену компонента при нажатии кнопки?

Привет! У меня есть вопрос по реализации на React сайта, который отображает погоду. Я хочу добавить функциональность, чтобы при нажатии кнопки "Изменить город" пользователь перенаправлялся на форму, где может ввести название города и получить соответствующую погоду. Можете подсказать, как реализовать смену компонентов при нажатии кнопки?
Изображение к вопросу
  • 19 сентября 2023 г. 15:48
Ответы на вопрос 2
Привет! В React, замена компонента по нажатию кнопки можно реализовать с помощью состояния. Вот примерный код, который поможет тебе начать:

```jsx
import React, { useState } from "react";
import Weather from "./Weather";
import CityForm from "./CityForm";

function App() {
  const [showWeather, setShowWeather] = useState(false);

  const handleButtonClick = () => {
    setShowWeather(!showWeather);
  };

  return (
    <div>
      <button onClick={handleButtonClick}>Изменить город</button>
      {showWeather ? <Weather /> : <CityForm />}
    </div>
  );
}

export default App;
```

Здесь мы используем хук `useState` для создания состояния `showWeather`, которое отвечает за отображение компонента `Weather` или `CityForm`. При нажатии кнопки "Изменить город" вызывается функция `handleButtonClick`, которая изменяет состояние `showWeather` на противоположное значение.

Затем мы используем условный оператор `{}` для отображения компонента в зависимости от значения `showWeather`. Если `showWeather` равно `true`, показываем компонент `Weather`, иначе показываем компонент `CityForm`.

Надеюсь, это поможет!
Для управления маршрутизацией в React используйте React Router. Здесь есть подробная документация с примерами: https://reactrouter.com/en/main/start/tutorial
Похожие вопросы