" 'default parameter' is not defined"在我的反应应用程序中



我将尝试发布此内容,而不必为我构建的 react 组件共享我的 1500 行代码。这是我的组件的一般结构,就像任何其他组件一样:

import React, { Component } from 'react';
import d3 from "d3";
class presComponent extends Component {
constructor(props) { 
super(props);
this.state = { ... }
}
someHelperFunction(paramA="blue", paramB="red") { ... }
componentDidMount() {
this.someHelperFunction(paramA="blue", paramB="red")
}
render() {
... 

在我的构造函数之后,我有许多用于组织代码的函数,这些函数在生命周期方法(大部分是 DidMount 和 DidUpdate)中调用。我的一些帮助程序函数具有默认参数,在这种情况下,某些帮助程序函数具有参数参数 paramA 和 paramB,默认值为蓝色和红色。

此组件是一个表示组件,我从我的一个主要容器组件中调用它。当我这样做时,我收到以下错误:

Line 1735:  'paramA' is not defined       no-undef
Line 1735:  'paramB' is not defined       no-undef

我的代码中的第 1735 行是 componentDidMount 内部函数的调用,因此以下行:

this.someHelperFunction(paramA="blue", paramB="red")

为什么会这样。尽管在我的示例中我将参数值设置为其默认值,但即使我不使用默认值,我也会收到此错误。感谢这里的任何帮助,感觉就像我不明白在javascript/react中使用函数的默认参数。

谢谢!

this.someHelperFunction(paramA="blue", paramB="red")

这做 3 件事

  1. 将"blue"分配给paramA(在调用上下文中,与函数中的参数名称无关)
  2. 将"red"赋值给参数B(在调用上下文中,与函数中的参数名称无关)
  3. 使用参数"蓝色"和"红色"调用函数

现在,如果您处于严格模式,paramAparamB需要是现有变量才能不收到警告/错误 - 同样,这个paramAparamB实例与函数中的参数名称完全无关

你也可以拥有

someHelperFunction(paramA="blue", paramB="red") { ... }
this.someHelperFunction(someRandomWord="blue", anotherRandomWord="red")

并且您将面临相同的错误(除了错误会说未定义someRandomWordanotherRandomWord

你可以这样尝试

someHelperFunction(paramA, paramB) { ... }
componentDidMount() {
this.someHelperFunction("blue", "red")
}

相关内容

最新更新