首页 > 解决方案 > 如何使用带参数的回调函数?

问题描述

我有一个函数,即返回回调。但是 meetUid 在这里是静态的。

fetchMeetDetails = async (callback) => {

        const meetUid = '1a712f91-974d-4185-9389-f7b1b4edede2';
        const snapshot = await database().ref(`/meets/${meetUid}`).once('value');

        callback(snapshot.val())

    }

我想从参数中获取 meetUid。像那样,fetchMeetDetails = async (callback,meetUid) => {但我做不到。因为我们得到了一个错误(TypeError : callback is not a function)。如何将此函数与回调和参数一起使用?

标签: javascriptreactjsreact-nativecallbackarrow-functions

解决方案


TypeError : callback is not a function
Type是这里的关键词。

callback由于您首先声明它的方式,编译器将参数视为任何东西。
不是问题。

接下来,编译器遇到了这个问题callback(snapshot.val()),然后它就会感到困惑。
然后它说,“好吧,我对此感到困惑type。让我抱怨吧!”

在这种情况下,编译器想知道default那个参数的类型。

// Since here "callback" is a function, pass "callback" as a default function

(callback=f=>f, ...rest) => {}

在 react 中将“props”传递给“children”时也是同样的概念


推荐阅读