javascript - Reactjs 在箭头函数中调用箭头函数
问题描述
我的 React 项目中的箭头函数有问题。
该类如下所示:
f1() {
// sth...
}
f2 = (a) => () => { /* sth */ }
f3 = (b) => () => {
this.f1();
this.f2();
}
为什么没有调用函数 f2?F1 没问题,但 f2 似乎有上下文问题?如何解决?我需要在另一个可以工作的地方(onClick 事件)调用相同的函数(f2)。我想自动绑定的“this”有问题,但我不知道如何解决。请帮忙。
解决方案
您的函数f2
确实被调用,但返回另一个函数。
f2 = (a) => () => { /* sth */ }
这相当于:
f2 = (a) => {
return () => { /* sth */ }
}
所以要打电话/* sth */
,你必须使用这个:
f2()()
因为f2()
返回您的第二个函数(内部函数)。
推荐阅读
- java - 由于“无法从 void 转换为 int”错误,Java 代码无法工作
- python - 如何在python中获取游标postgresql查询的字段值?
- android - 更新到 Android Studio 北极狐 - 应用更改要慢得多
- java - Android - 在从 ContentResolver.insert() 返回的 Uri 上调用 openFileDescriptor 时出现 FileNotFoundException
- python - 共享 pyvisa 资源和多处理
- asp.net-core - 尝试添加双重 azureAD 身份验证:活动目录 + powerbi embed
- loops - 创建一个从均匀随机变量 10000x 重复绘制的函数,并计算每次绘制的样本均值和方差 (R)
- google-sheets - 按事件排列数据
- google-cloud-platform - 从日志存储中提取现有数据
- fortran - 在同一代码中多次调用 MPI 感知函数