根据性质3 和性质 4,
无国籍
Roy Fielding从HTTP中得到了灵感,所以体现在这个约束上。使所有客户端-服务器交互无状态。服务器不会存储有关客户端发出的最新 HTTP 请求的任何信息。它将把每个请求视为新请求。没有会议,没有历史。
在请求之间,服务器上不应存储任何客户端上下文。客户端负责管理应用程序的状态。
但话又说回来,
在 REST 中,缓存应在适用时应用于资源,然后这些资源必须声明自己可缓存。缓存可以在服务器端或客户端实现
如果服务器可以缓存信息,那它怎么会是无状态的呢?
我有一个小部件,其中有一个有状态小部件作为子部件。我想要的是,每当此有状态子小部件重新加载时就会触发一些操作。
在子小部件中我有这个功能,
//in child widget
@override
void initState() {
super.initState();
print("Inside Child Widget");
}
Run Code Online (Sandbox Code Playgroud)
问题是,它只是第一次打印。此后,每当父窗口小部件的状态发生变化导致重新加载该子窗口小部件时,都不会触发此操作。
我检查了这个答案initState 函数默认情况下不会在 StatefulWidget 中调用&我知道initstate()只调用一次,但是,当我重新加载小部件时,它会重建,所以该函数不应该再次触发吗?