Проверьте, является ли значение отрицательным, и примените CSS в React JS

Я работаю над веб-сайтом ReactJS, где я извлекаю цены из API, используя Axios. Теперь, когда я сделал это успешно, я ищу способ показать, положительный ли процент изменений за 24 часа, он будет иметь зеленый цвет, если отрицательный - красный. Мой класс выглядит так.

class BtcTicker extends Component {
  render() {
    return (
      <div>
        <p>{fix_value(this.props.data.lastPrice, 2)} USDT</p>
        <p>{fix_value(this.props.data.priceChangePercent, 2)}%</p>
      </div>
    );
  }
}

Как я могу этого добиться?

добавьте свой код ответа json и код функции fix_value

Saurabh Mistry 12.03.2019 14:24

что-то вроде этого должно работать: <div style = {{color: this.props.data.priceChangePercent > 0? "зеленый" : "красный"}}>

davbuc 12.03.2019 14:26

функция fix_value(текст,к) {возврат (текст/100*100).toFixed(к).toString()}

Andrew 12.03.2019 14:26

вау, это сработало, спасибо!

Andrew 12.03.2019 14:33
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Введение в CSS
Введение в CSS
CSS является неотъемлемой частью трех основных составляющих front-end веб-разработки.
Как выровнять Div по центру?
Как выровнять Div по центру?
Чтобы выровнять элемент <div>по горизонтали и вертикали с помощью CSS, можно использовать комбинацию свойств и значений CSS. Вот несколько методов,...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Travel Booking Angular Template один из лучших Travel & Tour booking template in the world. 30+ валидированных HTML5 страниц, которые помогут...
0
4
2 800
4
Перейти к ответу Данный вопрос помечен как решенный

Ответы 4

вы можете использовать метод Мат.знак(), чтобы проверить, является ли число отрицательным или положительным, а затем использовать возвращаемое значение в операторе if, который реализует условный рендеринг.

Вот самый простой пример использования встроенного style реквизита:

<p style = {{
  color: someNumber < 0 ? "red" : "green"
}}>
  {someNumber}
</p>

Есть «лучшие» способы в зависимости от вашей ситуации, например. используя имена классов, стилизованные компоненты и т. д., но это зависит от вашей среды и используемых библиотек/фреймворков.

<div style = {{color: this.props.data.priceChangePercent > 0 ? "зеленый" : "красный"}}> это сработало отлично!

Andrew 12.03.2019 14:42
Ответ принят как подходящий

Я предполагаю, что вам нужно показать значение «процент» в цвете. Затем попробуйте отредактировать свой код следующим образом:

class BtcTicker extends Component {
  render() {
    return (
      <div>
        <p>{fix_value(this.props.data.lastPrice, 2)} USDT</p>
        <p style = {{color: Math.sign(this.props.data.priceChangePercent) === -1 ? "red" : "green";}}>{fix_value(this.props.data.priceChangePercent, 2)}%</p>
      </div>
    );
  }
}

<div style = {{color: this.props.data.priceChangePercent > 0 ? "зеленый" : "красный"}}> это сработало отлично!

Andrew 12.03.2019 14:42

Вместо использования встроенного стиля вы можете определить класс css и использовать его, используя <p className = {condition ? 'red' : 'green'}>Value</p>

Другие вопросы по теме