Реагировать — условно показывать определенные цены на основе значения API

#javascript #reactjs

#javascript #reactjs

Вопрос:

В нашем API у нас есть МНОГО значений ‘dealer-name’. «КОРПОРАЦИЯ ФИНАНСОВЫХ УСЛУГ CATERPILLAR» и все остальное.

Я пытаюсь сделать две вещи:

  1. Если какой-либо другой продукт возвращается с именем дилера CATERPILLAR FINANCIAL SERVICES CORPORATION, установите коэффициент конверсии равным 1,32.
  2. Коэффициент конверсии всех других продуктов будет равен 0,74.

Существует логика, в соответствии с которой уже настроена стоимость тарифа :

 export function formatPrice(
  price,
  lang,
  inclCurTxt?: boolean,
  currency?: string
) {
  let formattedPrice = price;

  const usaRate = 0.74;

  const currencyText = inclCurTxt ? " USD" : "";
    if (currency != null amp;amp; currency === "US") {
      //USD
      formattedPrice =
        accounting.formatMoney(Number(price) * usaRate, "$", 0)   currencyText;
    } else {
      //CAD
      formattedPrice = accounting.formatMoney(price, "$", 0)   currencyText;
    }
  return formattedPrice;
  

Я написал экспортируемую функцию getConversionRate, которая работает по логике, которую я объяснил вверху:

 export function getConversionRate() {
  let usaRate = 0.74;
  if (isEnvironmentBFE()) {
    const catName = "CATERPILLAR FINANCIAL SERVICES CORPORATION";

    // If it contains Cat Financial products, make US rate 1.32.
    if (detailsHtml.dealerId === catName) {
      usaRate = 1.32;
    }
  }
}
  

Я импортировал функцию getConversionRate в файл и поместил некоторый код в отображаемые детали продукта на странице, однако это не работает:

 <div className="price-wrap">
<img
   className="flagimg"
   src={Constants.IMAGES.FLAG_CA}
   alt="CDN $"/>
   <span className="data_price_cad">{getConversionRate(detailsHtml.itemPriceCA)}</span>
</div>
<div className="price-wrap">
 <img
   className="flagimg"
   src={Constants.IMAGES.FLAG_US}
   alt="US $"/>
   <span className="data_price_usd">{getConversionRate(detailsHtml.itemPriceUS)}</span></div>
  

Я неправильно реализую getConversionRate?

Ответ №1:

Похоже, вы вызываете функцию неправильно? getConversionRate не определен для приема каких-либо параметров, в то время как вы передаете некоторый параметр в отображаемый код. Возможно, код нуждается в исправлении, связанном с аргументами функции.