提问人:Sanman Chavan 提问时间:7/6/2020 最后编辑:Tim567Sanman Chavan 更新时间:7/6/2020 访问量:53
带参数的 Reacjs setInterval 函数
Reacjs setInterval function with argument
问:
我有一个函数,可以根据条件设置时间间隔。 假设条件越来越令人满意,那么它应该工作直到它为真,否则它应该停在那里。
class TestClassName extends React.Component {
constructor(props) {
super(props);
this.state = {
//setting values in state
};
this.SetIntervalAsPerLogic = this.SetIntervalAsPerLogic.bind(this);
}
SetIntervalAsPerLogic = (responseId, model) => {
if (this.state.isMoreResultsAvailable) {
this.fetchNewDataDB(responseId, model);
}
};
getDataLazyBind = (responseId, model) => {
setInterval(function () {
this.SetIntervalAsPerLogic(responseId, model);
}, timer);
setInterval(function () {
SetIntervalAsPerLogic(responseId, model);
}, timer);
};
render() {
//rendering
}
}
const containerElement = document.getElementById("main");
ReactDOM.render(<TestClassName />, containerElement);
错误:未定义 SetIntervalAsPerLogic
答:
0赞
goto
7/6/2020
#1
- 如果您将 inside 类用于您的方法,则无需执行此操作
this.setInternalAsPerLogic.bind(this)
arrow function expressions
- 您需要用于回调
arrow function expressions
setInterval
class TestClassName extends React.Component {
constructor(props) {
super(props);
this.state = {
//setting values in state
};
}
SetIntervalAsPerLogic = (responseId, model) => {
if (this.state.isMoreResultsAvailable) {
this.fetchNewDataDB(responseId, model);
}
};
getDataLazyBind = (responseId, model) => {
setInterval(() => {
this.SetIntervalAsPerLogic(responseId, model);
}, timer);
};
render() {
// rendering
return null;
}
}
来自 MDN:
箭头函数没有自己的 .使用封闭词法范围的值;箭头函数遵循正常变量查找规则。因此,在搜索当前范围中不存在的 which 时,箭头函数最终会从其封闭范围中找到 。
this
this
this
this
评论