React fancy-weather

1. Создаём приложение

При попытке использовать для создания приложения команду
create-react-app fancy-weather-react
получаю уведомление
Please note that global installs of create-react-app are no longer supported.

Удаляю существующую версию
npm uninstall -g create-react-app

Выполняю команду
npx create-react-app fancy-weather-react

Заходим в папку проекта
cd todo
запускаем команду
npm start
Открывается страница браузера, адрес которой http://localhost:3000/
Это и есть адрес нашего проекта.

https://learn-reactjs.ru/basics/state-and-lifecycle

Раньше состоянием могли обладать только компоненты-классы. Однако с появлением хуков состоянием могут обладать и компоненты-функции.

преобразовать компонент-функцию в класс за пять шагов:
.... Заменить props на this.props в теле метода render().

специальные методы, чтобы запускать определенный код, когда компонент монтируется или демонтируется:

Метод componentDidMount() срабатывает после того, как компонент был впервые отрисован в DOM

componentWillUnmount(): вызывается перед удалением компонента из DOM.

Не используйте setState() в componentWillUnmount() , так как компонент никогда не рендерится повторно.

О setState() нужно знать три вещи.

1. Для корректной модификации состояния компонента используйте метод setState():
this.setState({message: 'Привет, Мир!'})

2. чтобы обновить текущее состояние стейта используйте функцию
Эта функция будет принимать предыдущее состояние как первый аргумент и свойства в момент обновления как второй аргумент.

this.setState((prevState, props) => ({
  temperature: prevState.temperature + props.delta
}));

3. стейт можно обновлять по частям, меняя отдельные его свойства

Деструктуризация пропса и стейта внутри класса