javascript - 我的 react 应用程序中的 "' 默认参数 ' is not defined"

标签 javascript reactjs

我将尝试发布此内容,而无需分享我构建的 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)。我的一些辅助函数具有默认参数,在本例中,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 中函数的默认参数的使用。

谢谢!

最佳答案

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

这做了三件事

  1. 将“blue”分配给 paramA(在调用上下文中,与函数中的参数名称无关)
  2. 将“red”分配给 paramB(在调用上下文中,与函数中的参数名称无关)
  3. 使用参数“blue”和“red”调用函数

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

你也可以拥有

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

this.someHelperFunction(someRandomWord="blue", anotherRandomWord="red")

并且您会遇到相同的错误(除了错误会说 someRandomWordanotherRandomWord 未定义

关于javascript - 我的 react 应用程序中的 "' 默认参数 ' is not defined",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50383750/

相关文章:

reactjs - 在 ReactJs 路由中将 props 传递给功能组件

javascript - 如何根据另一个元素的宽度设置一个元素的宽度?

javascript - 在 React Native 中检测向左滑动

javascript - 如何在 D3JS 中设置 Circle Pack 的最小半径?

javascript - Windows 10 S 用户代理字符串中的边缘?还有其他以编程方式检测 Windows 10 S 的方法吗?

javascript - 使用 Google Apps 脚本的应用程序无法在 Google Chrome 版本 44 中正常运行

javascript - 如何使用ant design和react在选择选项中添加输入字段

javascript - 如何在元素上添加监听器以在元素发生任何更新时触发事件?

javascript - jQuery:搜索已在 HTML 中注释掉的数据

javascript - Redux 存储在 React 类组件中返回 null 值