我正在尝试围绕状态,
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(() {});
是只关心自身内部的东西,还是要注意其父小部件内任何地方的状态变化(甚至高于其小部件树上的父级)?
答案 0 :(得分:0)
setState((){})会重建当前的小部件状态,即,如果您已更新setState((){})内部的任何值或在调用setState((){}之前已更新,则它只会调用build方法。 ),其行为将相同。
对于某些在build方法中已初始化或定义的值,它不会产生任何效果,因为setState((){})只是重建Build()方法。
在您的情况下,两个setState((){})调用的行为都将与重建状态之前已更新所需值的行为相同。 setState((){})还会更新依赖于setState((){})中已更新变量的值,即取决于您要在setState((){})中更新的变量值。
通过flutter查看此interactivity教程以供使用
对于setState((){})方法,使用结帐this