我将尝试发布这个,而不必为我构建的反应组件共享我的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)。我的一些辅助函数有默认参数,在这种情况下, someHelperFunction 有参数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中函数的默认参数的使用。
谢谢!
答案 0 :(得分:2)
this.someHelperFunction(paramA="blue", paramB="red")
这有3件事
现在,如果您处于严格模式,paramA
和paramB
需要是现有变量才能获得警告/错误 - 再次,paramA
和{{1与函数
你也可以
paramB
并且您将面临同样的错误(错误除外,someHelperFunction(paramA="blue", paramB="red") { ... }
this.someHelperFunction(someRandomWord="blue", anotherRandomWord="red")
和someRandomWord
未定义
答案 1 :(得分:0)
您可以尝试这样
someHelperFunction(paramA, paramB) { ... }
componentDidMount() {
this.someHelperFunction("blue", "red")
}