toLocaleDateString не является функцией в реакции рендеринга jsx - PullRequest
0 голосов
/ 05 мая 2020

Я пытаюсь преобразовать свою дату в читаемый формат, текущие результаты выглядят как 2019-02-22T20:23:52.011Z

Я попытался добавить .toLocaleDateString для форматирования этой даты, но я продолжаю получать ту же ошибку

TypeError: item.CreateDate.S.toLocaleDateString is not a function

Я не уверен, что это из-за того, что я делаю это в рендере? Затем я попытался объявить эту переменную перед возвратом в функцию стрелки карты, но это, похоже, не имело значения. Любая помощь будет оценена по достоинству!

  renderOrders() {
    return (
      <div class="sl-orders-container">
        {this.state.orders.map((item) => {
          return (
            <div className="order-item-row">
              <div className="">
                {JSON.parse(item.BasketData.S)[0].ProductName.split(" - ")[0]}
              </div>
              <div class="sl-orders-order">
                <div class="">Order Detail</div>
                <ul>
                  <li>
                    Date Purchased: {item.CreateDate.S.toLocaleDateString()}
                  </li>

Пример товара


    BasketTotal: {S: "80"}
    CreateDate: {S: "2019-02-23T02:44:07.499Z"}
    EventTicketCount: {S: "2"}
    Paid: {BOOL: true}

1 Ответ

0 голосов
/ 05 мая 2020

Благодаря @mplungjan проблема заключалась в том, что item.CreateDate.S не было объектом даты,

Затем мне пришлось использовать

Date Purchased: {new Date(item.CreateDate.S).toLocaleDateString()}

вместо

Date Purchased: {item.CreateDate.S.toLocaleDateString()}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...