Я хочу изменить температуру с Цельсия на Фаренгейт (и наоборот), но я не нашел правильного подхода для решения этой проблемы, я написал функцию, которая переводит градусы Цельсия в Фаренгейт, но она выдает ошибку. Поэтому мне нужен кто-то, кто сможет открыть мой мозг и объяснить это мне, ха-ха (заставить меня понять, что я говорю).
Вот мой код: https://codepen.io/manAbl/pen/aGymRg?editors=0011
И я добавил в комментарий следующую функцию, которая не работает:
convertingTemperature() {
const { Fahrenheit, Celcius } = this.state;
this.setState({
Fahrenheit: true,
});
const _Celcius = this.state.weather.weather && this.state.weather.main.temp;
const _Fahrenheit = Math.round(_Celcius * 5 / 9 + 32);
if(Fahrenheit) {
this.setState({ temp: _Fahrenheit })
};
}
То, что я хочу сделать, это удерживать в моем состоянии логическое значение, поэтому, если значение по Фаренгейту равно true, я могу выполнить преобразование и вызвать свою функцию, но причина, по-моему, не работает, потому что я вытаскиваю значение из моего объекта состояния погоды, который приходит из моего вызова API. Поэтому я хочу вывести это значение в отдельное состояние, чтобы с его помощью можно было выполнить преобразования.
--- Что я хочу сказать, так это то, что я хочу иметь возможность переключаться между градусами Фаренгейта и Цельсия при нажатии на температуру