Javascrip默认参数ReferenceError:未定义参数

问题描述

我定义了一个函数获取一些数据。我设置如下认参数:

export async function fetchSomeData(limit=10,offset=0) {
    // fetch something
}

我将此功能导入我的组件并像这样使用它:

async componentDidMount() {
    ...
    let someData = await fetchSomeData() <- This works
    let someData = await fetchSomeData(limit=20,offset=10) <- This doesn't work
    ...
}

它可以在不设置limitoffset的情况下工作,但是当我尝试传递offsetlimit的新值时,我得到了Unhandled Runtime Error ReferenceError: limit/offset is not defined。我想念什么吗?

解决方法

如果调用函数,则不要“设置”“参数名”。
您只需简单地解析要在函数中使用的Numbers / Data。

因此您的函数调用应如下所示:

let someData = await fetchSomeData(20,10) <- This should work

-

,并且如果您想再次使用相同的参数(在您的情况下为someData),则不必“重新设置”变量类型。您可以轻松覆盖现有数据。

因此,在您的情况下,您的componentDidMount如下所示:

async componentDidMount() {
    ...
    let someData = await fetchSomeData() <- This works
    someData = await fetchSomeData(20,10) <- This should work
    ...
}

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...