Flutter中使用VelocityX框架时如何向Mutation类传递参数
问题原因
你报错的根本原因是SaveUser类没有定义对应的成员变量存储传入的userData,构造函数也没有完成参数赋值,导致perform方法访问不到该变量。
正确实现方式
你只需要改造Mutation类的定义,新增成员变量接收参数即可,具体修改如下:
class SaveUser extends VxMutation<MyStore> { // 声明成员变量存储传入的参数 final Object userData; // 构造函数完成参数赋值 SaveUser(this.userData); @override perform() { // 直接访问类成员变量即可拿到参数 print(userData); // 还可以通过store关键字直接修改MyStore的状态 store?.user = userData; } }
参数传递的调用逻辑不需要修改,保持原有写法即可:
SaveUser(userData);
补充说明
- 如果参数为可选参数,可将成员变量定义为可空类型,同时在构造函数中添加可选标识即可
- perform方法内部可以通过
store关键字直接访问你定义的MyStore实例,直接完成状态更新
内容的提问来源于stack exchange,提问作者sid heart
相关产品推荐
相关产品推荐

