Flutter 从零开始(三):setState 的边界在哪,什么时候才真的需要状态管理
前两篇我都在讲怎么把界面搭起来,这一篇讲那个「界面之外的部分」:数据放在哪、谁能读到它、它变了谁跟着变。 我是从「项目里第三个把回调函数往下传的文件」开始认真想这件事的。在那之前我对 setState 的理解是「改了变量就调一下它」,…
前两篇我都在讲怎么把界面搭起来,这一篇讲那个「界面之外的部分」:数据放在哪、谁能读到它、它变了谁跟着变。 我是从「项目里第三个把回调函数往下传的文件」开始认真想这件事的。在那之前我对 setState 的理解是「改了变量就调一下它」,…
这一篇讲 Dart 本身。我是带着 Java 和一点 JS 的背景进 Flutter 的,头两周真正拖住我的不是 Widget 和布局,而是 Dart 里那些「看着眼熟但意思不一样」的东西:late、const、mixin、await…
这是系列的第一篇,目标很具体:把开发环境装好、跑通第一个应用,并且在这个过程中把 Flutter 最容易让人误解的两件事讲清楚——它的渲染方式,以及 Widget 到底是个什么东西。我自己是先把这两处理顺了,后面写起来才不拧巴。
fnm(Fast Node Manager)是一个用 Rust 编写的 Node.js 版本管理工具,速度极快,支持跨平台,是 nvm 的优秀替代品。本文记录了在 Windows 上通过 GitHub 下载 zip 包手动安装 fnm…
Pinia 是一个 Vue 的状态管理库,可以理解为新版的 Vuex(但更轻量、语法更现代)。 它的作用是: 让组件之间共享数据; 管理全局状态(比如登录信息、主题、购物车等); 持久化(保存状态到 localStorage); 更好…
延迟消息是指在发送消息时指定一个延迟时间,消息不会立即投递给消费者,而是在延迟时间结束后才被投递给消费者处理。这在许多业务场景中非常有用,如订单超时处理、预约提醒、定时任务等。 插件安装 交换机配置 参数说明 x-delayed-me…
要将ESP32连接到特定的Wi-Fi网络,您必须知道其SSID和密码。此外,该网络必须在ESP32 Wi-Fi范围内(要检查,可以使用前面的示例来扫描Wi-Fi网络) 下面代码是将ESP32连接到Wi-Fi网络的initWiFi():…
要使用 ESP32 Wi-Fi 功能,您需要做的第一件事就是包括WiFi.h代码中的库,如下所示: ESP32板可以充当Wi-Fi站、接入点或两者兼而有之。要设置 Wi-Fi 模式,请使用WiFi.mode()并将所需模式设置为参数:…
nano 是 Linux 上最常用的轻量文本编辑器之一。今天整理了一个 快速上手教程笔记。 例子: 在 nano 里面,大部分命令都是 Ctrl + 键 组合。 功能快捷键说明 保存文件Ctrl + OO = Output,输入文件名…
在SQL Server中,可以使用多种方法来判断一个字符串是否为数字。以下是几种常见的方法: ISNUMERIC()函数可以判断一个字符串是否可以转换为数字。如果字符串是数字,则返回1,否则返回0。例如: 需要注意的是,ISNUMER…
初始化安全配置: 开始安装配置: 进入数据库并创建用户和库: 在 MariaDB 里执行: 编辑配置文件: 找到: 改成: 保存退出,然后重启 MariaDB: 如果你启用了 ufw:
我的项目POM文件内容如下: 以上配置,在plugin的maven-compiler-plugin中,如果注释掉configuration中的内容,即项目中的@Data注解有效,一旦将该配置释放开,即项目中的@Data就立马失效了。 …