Как отображать цены, только если пользователь вошел в систему с Expo? - PullRequest
0 голосов
/ 21 января 2020

У меня есть страница с запросом цен на мои продукты:

/** @format */

import React, { PureComponent } from "react";
import PropTypes from "prop-types";
import { View, Text } from "react-native";
import { Color, withTheme, Tools } from "@common";
import styles from "./styles";

class ProductPrice extends PureComponent {
  static propTypes = {
    product: PropTypes.object,
    hideDisCount: PropTypes.bool,
    style: PropTypes.any,
  };

  render() {
    const {
      product,
      hideDisCount,
      style,
      fontStyle,
      theme: {
        colors: { text },
      },
      currency
    } = this.props;
    const productPrice = `${Tools.getPriceIncluedTaxAmount(product, null, false, currency)} `;
    const regular_price = product["multi-currency-prices"] && product["multi-currency-prices"][currency.code] ? product["multi-currency-prices"][currency.code]["price"] : product.regular_price
    const productPriceSale = product.on_sale
      ? `${Tools.getCurrecyFormatted(regular_price, currency)} `
      : null;
    return (
      <View style={[styles.price_wrapper, style && style]}>
        <Text
          style={[
            styles.text_list,
            styles.price,
            {
              color: Color.blackTextSecondary,
            },
            { color: text },
            fontStyle && fontStyle,
          ]}>
          {productPrice}
        </Text>

        {product.on_sale && <Text style={[styles.text_list, styles.sale_price, { color: text }, fontStyle && fontStyle,]}>
          {productPriceSale}
        </Text>}

        {hideDisCount ? (
          <View />
        ) : !product.on_sale ? (
          <View />
        ) : (
              <View style={styles.saleWrap}>
                <Text style={[styles.text_list, styles.sale_off, { color: text }, fontStyle && fontStyle,]}>
                  {`-${(
                    (1 - Number(product.price) / Number(product.regular_price)) *
                    100
                  ).toFixed(0)}%`}
                </Text>
              </View>
            )}
      </View>
    );
  }
}

export default withTheme(ProductPrice);

Теперь я использую Wordpress, чтобы войти или не войти в систему моих клиентов, и я хотел бы отображать цены, только если пользователь зарегистрировано.

В настоящее время приложение показывает "Извините, не могу перечислить ресурсы", потому что оно не может получить цены, если пользователь не вошел в систему ...

Любое решение?

РЕДАКТИРОВАТЬ: вот как он вызывает имя пользователя, когда пользователь вошел в систему, в другой. js страница:

/**
   * getName user
   * @user
   */
  static getName = (user) => {
    if (user != null) {
      if (
        typeof user.last_name !== "undefined" ||
        typeof user.first_name !== "undefined"
      ) {
        const first = user.first_name != null ? user.first_name : "";
        const last = user.last_name != null ? user.last_name : "";
        return `${first} ${last}`;
      } else if (typeof user.name !== "undefined" && user.name != null) {
        return user.name;
      }
      return Languages.Guest;
    }
    return Languages.Guest;
  };
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...