问题标签 [flutter-redux]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
redux - 如何使用 Flutter Redux 执行定期/计划的操作?
我正在使用 Flutter 构建一个移动应用程序,其中我使用了 flutter_redux和redux_thunk。我想实现两种定时操作:
每 N 秒调度一次特定动作(重复)
N 秒后调度一次动作,可能来自一个 thunk 动作(单次运行)
有没有包装这个逻辑的包?您建议的实现这两种预定操作的方法是什么?
redux - 如何调度基于另一个异步操作结果的多个异步操作?
一旦我的用户登录成功并且我有一个 Firebase 用户,我想通过调度一个进行异步调用以获取配置文件的操作来检查我的服务器上是否已经创建了一个配置文件。
如果没有返回个人资料,我想将应用导航到个人资料创建页面,否则,加载个人资料页面。
我正在考虑在登录中间件中调度第二个操作,但是在登录中间件中混合配置文件和登录代码似乎很奇怪。
有没有更好的方法或更标准的方法来做我想做的事情?
我没有尝试过任何事情,但我正在考虑在登录中间件中调度第二个操作并从那里导航到所需的页面。
编辑:我只是想到了一种比我之前的建议更好的方法。
如果成功登录后我只是将它们导航到个人资料页面怎么办。在配置文件页面的初始位置上,我将发送操作以获取配置文件。Profile 页面将根据中间件和 reducer 完成后是否在 AppState 中初始化 Profile 来呈现不同的内容。
这似乎可以做还是有不同的更好的方法?
flutter - Flutter redux 更新特定状态变量而不影响其他变量
我有这样的状态
行动
像这样的减速机
初始状态是这样定义的
initialState: new NameState(title: 'this is title', name: []), middleware: [thunkMiddleware]);
这是主要问题,
你可以看到我给标题变量一个静态字符串。它工作正常并且在所有页面中都可见。
但是一旦调用 reducer,这个标题就会得到一个 null 值。我不想将任何值传递给标题。它应该是它自己的价值。我只更新了名单。
在javascript状态管理中,我们可以更新任何我们想要的变量,而不影响状态中的其他变量。我该如何在flutter redux中做到这一点?
谢谢你。
flutter - 如何在flutter redux中更新列表的属性
我正在尝试更新flutter redux中的一些属性,但出现以下错误
这是我的州课
我的动作看起来像这样
我的减速机看起来像这样
请帮忙。太感谢了。
flutter - 比较 Flutter redux 中的旧视图模型和当前视图模型
在 Flutter-redux 中,我们可以使用 onDidChange 和 onWillChange 来检测 store 状态的变化。但是有没有办法检测特定属性的变化?
我可以做类似的事情吗
if(oldViewModel.changedProperty != viewModel.changedProperty)
在 react-redux 中,可以检查 prevProps 和 currProps 的差异并据此执行操作。
redux - Flutter redux:如何在注销时清除状态并在登录时重新初始化
我是 Flutter 新手,已经在移动应用程序中实现了 redux 开发模式。注销时我希望清除颤振应用程序的状态。否则,如果 Participant 1 登录,Participant 2 登录 Participant 2,则在缓存数据时查看 Participant 1 的数据。因此,一旦参与者 1 登录应用程序的状态,就应该重新初始化。我有三个状态对象 1. Authstate 2. UIState
我目前在 app_reducer.dart 中执行此操作
我的注销操作是 UserLogout,登录是 UserLogin。
redux - Redux 如何更新计算状态
我正在学习 redux(在 Flutter 中使用 Firestore,但我认为这并不重要),试图超越基础知识,我对“计算状态”(甚至不知道该怎么称呼它)应该去哪里感到困惑.
假设我有这样的应用程序状态:
- 用户:用户的一个实例
- 电影:用户电影列表
- 最近最喜欢的电影:用户标记为“最喜欢”并具有最近创建日期的上述电影之一
我能够设置用户(登录成功操作)并请求用户的电影(登录成功中间件)。电影查询完成后,我对在哪里进行初始化感到困惑recentFavoriteMovie
。似乎有很多选择......
- SetMovies 中间件可以计算它,然后调用 SetRecentFavorite 动作。
- SetMovies 减速器能做到吗?或者这是否被认为是减速器的副作用,这是不允许的?
- 我想偷懒。在 redux 中是否可以为应用程序状态对象提供一个计算和缓存它的方法?如果是这样,我仍然需要在设置新电影列表时清除缓存值。但这似乎与上面的(b)相同。
- 我可以将 movies 属性和 favoriteMovies (属性或方法)放在我的用户对象中(它们有点属于那里),然后每次一个或另一个更改时只调度一个 UpdateUser 操作。一般来说,我不知道何时/是否将我的应用程序状态的某些子属性“提升”到顶层,以便应用程序对其做出反应。
这些是所有或任何一个有效的选择吗?我希望这是一个有意义的问题。我什至可能太落后了,无法正确地问这个问题。
flutter - Dart、Flutter Redux Thunk 单元测试
我已经编写了以下代码,并试图在颤振中测试一个 redux thunk 动作。不幸的是,当我调试代码时,我可以看到 thunkMiddleware 没有按预期拦截操作(因为返回的Function(store)
永远不会被触发)。
state.dart
state_test.dart
任何修复测试的帮助将不胜感激!
flutter - Flutter 在从构建上下文中显示小吃栏时查找已停用的小部件
我有一个屏幕,它绘制了多个名为 EventCard 的子小部件。每张卡片都有一个可以单击的切换按钮,它将调度一个 redux 操作来触发 HTTP 调用,以便使用其中一个选项(切换按钮)更新数据库中的模型。
http 调用完成后,我们检查 API 的响应,如果一切正常,我们希望在屏幕上显示小吃栏。
当我们Scaffold.of(buildContext).showSnackBar()
运行时会出现问题,因为 buildContext 已经卸载,所以我收到错误:
查找已停用小部件的祖先是不安全的。此时小部件的元素树的状态不再稳定。要在其 dispose() 方法中安全地引用小部件的祖先,请通过在小部件的 didChangeDependencies() 方法中调用 inheritFromWidgetOfExactType() 来保存对祖先的引用。)
这是我的屏幕组件的构建功能:
这是子 EventCard 组件:
最后,点击时调用的 redux 操作,这也是引发错误的操作:
有任何想法吗?