SetState()如何确定小部件是否需要重建?

时间:2020-02-10 22:50:40

标签: flutter

我正在尝试围绕状态, import mongoose from 'mongoose'; const messageSchema = new mongoose.Schema( { text: { type: mongoose.Schema.Types.String, required: true, }, userId: { type: mongoose.Schema.Types.ObjectId, ref: 'User', required: true, }, likesIds: [{ type: mongoose.Schema.Types.ObjectId, ref: 'User' }], isReposted: { type: mongoose.Schema.Types.Boolean, default: false, }, repost: { reposterId: { type: mongoose.Schema.Types.ObjectId, ref: 'User', }, originalMessageId: { type: mongoose.Schema.Types.ObjectId, ref: 'Message', }, }, }, { timestamps: true, }, ); const Message = mongoose.model('Message', messageSchema); export default Message; 函数的概念,并重建有状态的小部件。这段代码(在方法内部)会否

setState

与...有任何不同

setState(() {
newText="some new text";
});

换句话说,newText="some new text"; setState(() {}); 是只关心自身内部的东西,还是要注意其父小部件内任何地方的状态变化(甚至高于其小部件树上的父级)?

1 个答案:

答案 0 :(得分:0)

setState((){})会重建当前的小部件状态,即,如果您已更新setState((){})内部的任何值或在调用setState((){}之前已更新,则它只会调用build方法。 ),其行为将相同。

对于某些在build方法中已初始化或定义的值,它不会产生任何效果,因为setState((){})只是重建Build()方法。

在您的情况下,两个setState((){})调用的行为都将与重建状态之前已更新所需值的行为相同。 setState((){})还会更新依赖于setState((){})中已更新变量的值,即取决于您要在setState((){})中更新的变量值。

通过flutter查看此interactivity教程以供使用

对于setState((){})方法,使用结帐this