跳到主要内容

Posts · flutter

flutter

共 113 篇文章。 Dart · 跨端应用

2026年10月31日 flutter

`auth()->id()` 到底返回谁?Sanctum 多态令牌与双会员系统的踩坑记录

## 引子先看一段看起来很正常的代码:```php$userId = auth('sanctum')->id();if ($userId) {    $res['isLiked'] = $this->likes()        ->where('user_id', $userId

2026年07月28日 flutter

Dart 3 记录(Records)和密封类(Sealed classes)

Dart 3 引入了几个极其强大的语言特性,其中最耀眼、对我们日常开发改变最大的就是 记录(Records) 和 密封类(Sealed classes),它们配合 模式匹配(Pattern Matching),让 Dart 的表现力达到了现代编程语言(如 Swift、Kotlin、Rust

2026年06月29日 flutter

flutter的 Clean Architecture架构设计

Clean Architecture(清晰架构)是一种将应用程序分层的设计模式,强调关注点分离与依赖规则,通过将业务逻辑与框架、UI、数据源解耦,提升代码的可测试性、可维护性与可扩展性。在 Flutter/Dart 环境下,Clean Architecture 通

2025年12月22日 flutter

Riverpod 实战:如何优雅地实现网络请求的防抖与取消

在开发复杂的应用程序时,管理网络请求的生命周期至关重要。例如,用户在搜索框快速输入时可能会触发大量请求,或者在请求完成前离开页面,导致不必要的资源浪费。本文将介绍如何在 Riverpod 中利用 ref.onDispose 和“

2025年12月22日 flutter

在 Riverpod 中实现下拉刷新 (Pull-to-Refresh)

在移动应用开发中,“下拉刷新”是一个非常常见的功能。它的核心交互逻辑通常包含以下几个状态: 首次进入页面:显示加载指示器(如转圈动画)。 下拉刷新时:显示下拉刷新指示器,同时保留当前显示的数据,直到新数据加载

2025年12月22日 flutter

Riverpod 指南:如何实现 Provider 的立刻初始化 (Eager Initialization)

在 Riverpod 中,默认的设计哲学是懒加载 (Lazy Initialization),即 Provider 只有在第一次被读取或监听时才会初始化。这种机制对于优化资源非常有效。然而,在某些场景下(例如应用启动时就需要加载某些配置或建立连接),我们

2025年12月22日 flutter

Riverpod 性能优化:使用 Select 优化重绘性能

在 Riverpod 开发过程中,构建功能只是第一步,性能优化往往紧随其后。最常见的性能瓶颈之一是 Widget 或 Provider 的过度重建(Over-rebuilding)。本文将详细介绍如何使用 select 及其异步变体 selectAsync 来过滤不必要的

2025年12月22日 flutter

Riverpod 测试指南:从单元测试到组件集成

前言:为什么 Riverpod 易于测试?Riverpod 在设计之初就将“可测试性”作为核心考量。与传统的依赖全局单例的状态管理不同,Riverpod 并不依赖 Flutter 的 widget 树来持有状态,这使得在测试中隔离、模拟(Mock)和

2025年12月22日 flutter

Riverpod 与 Hooks:概念、用法与最佳实践

在 Flutter 开发中,Riverpod 常与 flutter_hooks 搭配使用。尽管 Hooks 是一个独立于 Riverpod 的概念,但两者结合能显著提升代码的简洁性与复用性。本文将系统地介绍 Hooks 的核心概念、应用场景以及如何与 Riverpod

2025年12月22日 flutter

Riverpod 代码生成机制详解

在 Riverpod 中,代码生成(Code Generation)是一种利用工具自动生成代码的技术。虽然它是完全可选的,但 Riverpod 官方推荐在特定场景下使用它,因为它能显著简化语法并提供更强大的功能。1. 核心决策:我应该使用代码生成吗?在

第 1 / 12 页 · 共 113 篇

WeChat

扫码加我微信

微信二维码