Javascript 无法读取属性";toFixed“;未定义的

Javascript 无法读取属性";toFixed“;未定义的,javascript,reactjs,typescript,react-native,Javascript,Reactjs,Typescript,React Native,我有以下代码块: export interface Record { Percentage_Emissions: number; Percentage_Emissions_Previous: number; Vs_Previous_Year: number; } const Info = ({ data }: { data: dashboard.Results<Record>; }) => { const styles = Styles(myStyles);

我有以下代码块:

export interface Record {
Percentage_Emissions: number;
Percentage_Emissions_Previous: number;
Vs_Previous_Year: number;
}

const Info = ({
  data
}: {
  data: dashboard.Results<Record>;
}) => {
  const styles = Styles(myStyles);
  const record = data.results.records[0];
  let redStyle =
  record.Percentage_Emissions < 0
    ? [styles.textInRed]
    : [styles.textInGreen];
    const percentageText =
    record.Percentage_Emissions === undefined
      ? `-`
      : `${(
          record.Percentage_
Emissions * 100
        ).toFixed(2)}${strings("data.percent")}`;

导出接口记录{
排放百分比:数量;
以前的排放百分比:数量;
与上一年相比:数量;
}
常数信息=({
数据
}: {
数据:仪表板。结果;
}) => {
常量样式=样式(myStyles);
const record=data.results.records[0];
让红字=
记录.排放百分比<0
?[样式.文本输入]
:[styles.TextingGreen];
常量百分比文本=
record.Percentage_排放===未定义
? `-`
: `${(
记录。百分比_
排放量*100
).toFixed(2)}${strings(“data.percent”)}`;
我刚刚意识到问题在于render方法,该方法调用:

 <Text
          style={[styles.text, styles.textLarge]}
        >{`${record.Percentage_Emissions.toFixed(2)}${strings(
          "data.percent"
        )}`}</Text>
{`${record.Percentage_Emissions.toFixed(2)}${strings(
“数据百分比”
)}`}
我认为问题在于渲染方法假设定义了百分比排放,但我仍然不知道如何修复它

在emulator中,由于错误“无法读取属性”toFixed,页面崩溃“未定义的。如果找不到数据,则应返回破折号,如果条件格式可用,则应返回舍入的信息。我看不出我的代码有什么问题。有人知道这里发生了什么吗?

将问题分解:

const percentAsString = (n) => (n * 100).toFixed(2) + strings('data.percent');

const safePercentAsString = (n) => (n === undefined) ? '-' : percentAsString(n);
这些都是简单的单元测试

然后在您自己的功能范围内,只需执行以下操作:

const percentageText = safePercentAsString(record.Percentage_Emissions);

如果您的输出仍然存在问题,您知道问题一定在于处理
记录
对象,而不是您的输出代码。

记录对象中是否存在
排放量
?是否
记录中
排放量
百分比
百分比百分比的排放量。我刚刚把它校正为百分之三的排放量,但是同样的错误发生了。并且是记录。百分比百分比是在对象中。考虑将一个本地的短变量分配给<代码>记录。如果它的值未定义,只需向其添加一个默认数值
${(record.Percentage_Emissions | | 0).toFixed(2)}