在react.js中,将超时引用存储为实例变量(this.timeout)或状态变量(this.state.timeout)更好吗?
React.createClass({
handleEnter: function () {
// Open a new one after a delay
var self = this;
this.timeout = setTimeout(function () {
self.openWidget();
}, DELAY);
},
handleLeave: function () {
// Clear the timeout for opening the widget
clearTimeout(this.timeout);
}
...
})
要么
React.createClass({
handleEnter: function () {
// Open a new one after a delay
var self = this;
this.state.timeout = setTimeout(function () {
self.openWidget();
}, DELAY);
},
handleLeave: function () {
// Clear the timeout for opening the widget
clearTimeout(this.state.timeout);
}
...
})
这两种方法都有效。我只想知道一个使用另一个的原因。
我建议将其存储在实例上,而不是存储在实例中state
。每当state
更新时(应仅按setState
注释中的建议完成),React就会调用render
并对实际DOM进行任何必要的更改。
由于的值对timeout
组件的呈现没有影响,因此不应存在于中state
。将其放在那里会导致对的不必要调用render
。
问题内容: 我有一个无状态会话bean,其中包含一个公共方法,几个私有方法和一些实例级变量。下面是一个伪代码示例。 我看到的是methodB正在打印未传递给MethodA的值。最好的说来,它是从同一bean的其他实例打印值。是什么原因造成的? 我应该指出代码在99.9%的时间内都能正常工作。但是,.01%对我造成了一些严重的问题/担忧。 我知道,如果我使用不同的公共方法,则两次调用之间可能无法获得
一个持久化类的实例可能处于三种不同状态中的某一种。这三种状态的定义则与所谓的持久化上下文(persistence context)有关。Hibernate 的 Session 对象就是这个所谓的持久化上下文。这三种不同的状态如下: 瞬态(transient) 该实例从未与任何持久化上下文关联过。它没有持久化标识(相当于主键值)。 持久化(persistent) 实例目前与某个持久化上下文有关联。它
我正在阅读JavaEE7文档,下面是关于无状态bean的说明。我不明白下面黑体字的说法是什么意思 无状态会话bean不维护与客户端的会话状态。当客户端调用无状态bean的方法时,bean的实例变量可能包含特定于该客户端的状态,但仅限于调用期间。方法完成后,不应保留客户端特定的状态。然而,客户端可能会更改池化无状态bean中实例变量的状态,并且这种状态将保留到池化无状态bean的下一次调用。除了在方
本文向大家介绍AngularJs点击状态值改变背景色的实例,包括了AngularJs点击状态值改变背景色的实例的使用技巧和注意事项,需要的朋友参考一下 实例如下: 以上这篇AngularJs点击状态值改变背景色的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持呐喊教程。
VarHandle显示以下错误- 我的计划是:
用的是 React 和 Antd v5 为什么在改了 state 之后元素还是没变化呢 问过 GPT 但是没有结果