反应implict返回在一击

0

的问题

所以我一直在看这个代码。 一个隐含的返回一个 onClick

<Button onClick={() => history.push('/urlTing') }>
   Ting
</Button>

这是一个很大的不-不是吗? 或者是更好吗? 任何这里输入的,将不胜感激。 这两者的出现提供所需的行为。

很明显这里是什么它看起来像没有隐含的返回。

<Button onClick={() => {
   history.push('/urlTing'); 
}}>
   Ting
</Button>

ecmascript-6 javascript reactjs
2021-11-23 15:57:42
3

最好的答案

1

它没有做出差异。 如果你不想隐含的返回,同时保持的一个在线格式,使用 void 关键字:

<Button onClick={() => void history.push('/urlTing') }>
   Ting
</Button>
2021-11-23 17:27:54

这是真的吗??
peter flanagan

1

没有什么不妥的隐含的返回。 的 onClick 事件处理程序的返回值没有得到使用作出反应。 每个文档 https://reactjs.org/docs/handling-events.html

另一个差异是,你不能回 false 防止默认的行为作出反应。 你必须打电话 preventDefault 明确。

因此,它不管你的处理程序的返回,或者如果返回任何东西。

2021-11-23 16:01:20
1

创造一个回调在每个呈现的内部标记的,在本身不是最好的做法。 回到这个问题:主要的区别,正如你所提到的,是之间的返回值。 我怀疑 onClick API从作出反应将会永远改变。 但是,如果在今后将有某种回报值预期的-这就是你可以让自己到一些麻烦,如果你不回的东西。

该规则的经验:如果你是不是要求返回一些事情-不会这样做。

2021-11-23 16:05:00

我很欣赏你指出这不是一个好主意,联此在呈现。
Daniel Beck

其他语言

此页面有其他语言版本

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................