开发者问题收集

TypeError:无法读取未定义的属性(读取‘toLocaleString’)

2021-10-07
6492

我正在学习 React JS 课程。我想使用 props toLocaleString 方法呈现日期和星期。但应用程序崩溃了。这是我的代码

 function ExpenseDate(props) {
  const month = props.date.toLocaleString("en-US", { month: "long" });
  const day = props.date.toLocaleString("en-US", { day: "2-digit" });
  const year = props.date.getFullYear();

  return (
    <div>
      <div>{month}</div>
      <div>{year}</div>
      <div>{day}</div>
    </div>
  );
}

export default ExpenseDate;

当我导出并使用该组件并刷新服务器时。服务器显示以下内容: 未定义(读取“toLocaleString”)

请帮忙。我很着急!

3个回答

尝试以下代码,并在使用 props 和 object 时注意: props.expense.date.toLocaleString

在课程中可能遗漏了 .expense 代码是否可以使用“?”符号,如其他帖子建议的 props.expense.date?.toLocaleString


    import "./ExpenseItem.css";

function ExpenseItem(props) {
  const month = props.expense.date.toLocaleString("en-US", { month: "long" });
  const day = props.expense.date.toLocaleString("en-US", { day: "2-digit" });
  const year = props.expense.date.toLocaleString("en-US", { year: "numeric" });

  return (
    <div className="expense-item">
      <div>
        <div>{month}</div>
        <div>{day}</div>
        <div>{year}</div>
      </div>
    </div>
  );
}

export default ExpenseItem;
Pitter
2021-10-07

好吧,我想我疯了,我实际上是在完全相同的步骤上做同样的反应课程,我想弄清楚我做错了什么?我添加了?但现在日期不显示。

好的,如果你进一步前进,他会纠正这个问题,在 ExpenseItem.js 文件的返回中,你需要添加以下内容:

<ExpenseDate date={props.date} />
Mike Jones
2021-10-07

我也得到了同样的错误: TypeError:无法读取未定义的属性(读取'toLocaleString')

在我的代码中

      <div className="coin-data">
            <p className="coin-price">Rs.{price}</p>
             <p className="coin-volume">Rs.{volume.toLocaleString()}</p>
            {pricechange<0 ? (
                <p className="coin-percent red">{pricechange.toFixed(2)}%</p>
            ):(
                <p className="coin-percent green">{pricechange.toFixed(2)}%</p>
            )
        }
        <p className="coin-marketcap">
            Mkt Cap: Rs.{marketcap.toLocaleString()}
        </p>
        </div>

在我的情况下使用 来检查字段是否有值

      <div className="coin-data">
            <p className="coin-price">Rs.{price}</p>
             <p className="coin-volume">Rs.{volume?.toLocaleString()}</p>
            {pricechange<0 ? (
                <p className="coin-percent red">{pricechange.toFixed(2)}%</p>
            ):(
                <p className="coin-percent green">{pricechange.toFixed(2)}%</p>
            )
        }
        <p className="coin-marketcap">
            Mkt Cap: Rs.{marketcap?.toLocaleString()}
        </p>
        </div>
Monu Rohilla
2021-12-31