if语句中的setState():
// morePage = true
// pageNum = 1
if(morePage){
this.setState({pageNum: this.state.pageNum+1})
}
console.log(this.state.pageNum); // return: 1
setState()out if语句:
// morePage = true
// pageNum = 1
if(morePage){
// ...
}
this.setState({pageNum: this.state.pageNum+1})
console.log(this.state.pageNum); // return: 2
我现在正面临这个问题,我想知道为什么...
谢谢:)
正确答案后编辑:
所以是的,我应该花更多的时间阅读React的Doc:p如果有人有兴趣知道我最后是怎么做的,下面是答案:
在文档中,他们说不能保证您的状态在重新呈现之前会有它的新值。所以您必须使用“componentdidupdate()”。
所以我做的是,我把:
this.setState({pageNum: this.state.pageNum+1})
在我创建的随机函数中,之后在“componentdidupdate(prevProps,prevState)”函数中,我可以访问新的和旧的props值,在那里,我可以使用“pagenum”的前一个和当前值:)
所以基本上你的问题是别人引用的setstate。但您也可以轻松地console.log
执行以下操作:
this.setState({pageNum: this.state.pageNum+1}, () => {
console.log(this.state.pageNum);
})
请参阅setstate
定义:
void setState(
function|object nextState,
[function callback]
)
如前所述,不能保证state值将在下一行代码中更新。
如果要检查状态进行调试,请尝试将其记录在render
方法中,因为该方法是在状态更新后调用的
我有一个脚本,当只有某些工作表打开时,我想在打开时运行它,但在绑定脚本的电子表格中没有其他工作表。所需的所有工作表的名称都为“代理报告-‘NameOfAgent’”。每个代理报告中还包含某些单元格,可用于IF条件语句。从逻辑上讲,我希望: 如果活动工作表的名称包含“代理报告”- 或者,如果处于活动工作表单元格A2==“角色”- 谢谢你的帮助。
我似乎搞不清楚下面的语句与和有关的问题是什么。请记住,仍然在开发中,我只是还没有能够在语句中测试它,所以很可能是错误的。 我得到的错误是: 而语句是这样的。
行动时刻 - 在unlang中使用if语句 if语句本身并不复杂。 它具有以下格式: if(condition){ ... } 由于其许多可能性,条件部分可能变得复杂。 使用if语句获取返回码 我们现在将查看模块的返回代码,并使用此代码与指定的条件进行比较。 FreeRADIUS中的每个模块都需要在调用时返回代码。 随后可以将此代码的值用作if语句中的条件检查。 使用if语句授权用户 如
我对if else语句有些问题,请支持
代码: 作业: 在直角三角形中,最长边长度的平方等于其他两条边长度的平方之和。编写一个程序,提示用户输入三角形三条边的长度,然后输出一条消息,指示三角形是否为直角三角形。无论输入三条边的长度顺序如何,该程序都可以正常工作。 我的问题:代码无法编译,找到:变量,必需:值 另外:我不知道如何制作,这样程序就可以知道三角形是否正确,即使边没有按顺序给出。请帮忙,我是一个初学者,在这项作业上有很多困难。
问题内容: 在C语言中,我可以编写一个if语句 但是,当我尝试在Java中执行相同操作时,编译器会告诉我“不兼容的类型”,并说我需要一个而不是一个。有什么方法可以用Java编写C代码吗? 问题答案: 以下任何一项都可以为您工作: