reactjs - 为什么使用箭头函数声明函数时不需要使用()执行函数?
问题描述
嗨箭头函数问题再次:(
这是我的部分代码。
如您所见, initial**** 是函数。正确的??并且 dateRangeArr 也是函数
这是问题。
我调用了 dateRageArr() 来使用。
但是像initialPage,initialRowsPerPage这样的初始blahs我不需要使用()
我想知道为什么...
提前非常感谢:)
解决方案
这是因为useState
如果函数作为参数传递,将立即调用该函数。而通常,您需要使用()
来调用函数。
为了演示,下面我将一个函数传递给useState
而不是实际值。
const MyTest = () => {
const func = () => {
return 'my func result';
}
[val, setVal] = React.useState(func);
// ^ no ()
return 'initial state: ' + val;
};
结果:
初始状态:我的 func 结果
如您所见,这会产生与以下操作相同的结果:
[val, setVal] = React.useState(func());
// ^^ explicitly call it
它只是一个帮助功能,您可以传递一个函数而无需显式调用它。
推荐阅读
- php - LaravelQuestion - 类管理员不存在
- excel - 在 Excel 中链接公式部分
- c# - 删除实体:附加类型为“X”的实体失败,因为同一类型的另一个实体已经具有相同的主键值
- android - 从 For 循环调用异步 Web 服务
- perl - 如何不在文件中保存已解析的字符串
- python - 定义自定义 Op theano 的 grad
- java - ConcurrentModifcationException 偶尔发生
- javascript - Javascript通过类名将文本添加到div,不添加也没有错误
- rest - Netty websocket 和 Rest 在同一个 Java 应用程序中
- java - Maven xml构建失败