小编Mat*_*ner的帖子

块模式:每个屏幕都有自己的块?

我正在学习块模式Flutter,似乎有一个反复出现的建议:“每个屏幕都应该有自己的块”。

但是,如果您向服务器查询将在多个屏幕中使用的数据怎么办?对于同一条数据多次访问服务器似乎是多余的,甚至是浪费的,特别是如果您知道数据没有更改(例如,当没有使用改变/更新数据的操作时)。

无论如何,您是否可以以某种方式保存该数据以重用它?在存储库级别存储以这种方式使用的数据是个好主意吗?或者这只是使用区块的可接受成本?

flutter bloc

7
推荐指数
1
解决办法
1605
查看次数

Firebase Firestore 是否有阻止恶意请求的措施?

由于 Firebase Firestore 是按操作(读取、写入、删除)定价的,我最担心的是有人可能会得到一个有效的端点,读取、写入或删除文档,并且只是在预期之外多次执行此操作其使用范围。

是否有防止恶意请求的措施?例如,如果操作每分钟发生 10,000 次,那么用户是否会遇到某种锁定,或者这些请求是否被认为是合法的?

我知道有数据库安全规则,但它们似乎不够。当然,我可以检查用户是否已通过身份验证等,但是如何阻止恶意用户进行身份验证,找出有效和允许的端点读取、写入或删除文档的位置,然后创建一个脚本来执行此操作重复?

我也了解我可以设置每日支出限额。但这只会限制我花费的金额,而不是可能用完这些限制并导致数据库停止工作的恶意用户。

编辑:我的问题不仅仅与计费有关。它关注恶意用户,他们可能有权读取/写入文档并通过编写脚本来滥用此权限,该脚本会增加具有滥用意图的操作数量。Firebase 是否有任何措施来阻止这种情况?

如果响应是“存在安全规则”,那么请告诉我如何编写这些安全规则,以不允许同一用户每分钟发出超过 100 个请求或类似的内容。

firebase google-cloud-firestore

6
推荐指数
1
解决办法
434
查看次数

ListView 正在扩大我的小部件的宽度

它似乎ListView将其子项的宽度拉伸到 100% 的屏幕宽度。

例如,尽管在下面的示例中明确设置了宽度,但宽度会被拉伸。

ListView.builder(
                shrinkWrap: true,
                itemBuilder: (context, index) {
                  return SizedBox(
                    width: 120,
                    child: Container(
                        margin: EdgeInsets.all(10),
                        width: 100,
                        height: 200,
                        color: Colors.red),
                  );
                },
                itemCount: 3,
              )
Run Code Online (Sandbox Code Playgroud)

我避免这个问题的唯一方法是将返回的小部件包装在 a 中Row,但如果可能的话,我更愿意避免这种情况(不想弄乱代码)。

flutter

2
推荐指数
1
解决办法
316
查看次数

更改 TextFormField 的颜色

我正在尝试更改focusColora 的TextFormField.

TextFormField(
            maxLines: 1,
            autofocus: false,
            decoration: InputDecoration(
              focusColor: Colors.green,
              hintText: 'Email',
              icon: Icon(Icons.email),
            ))
Run Code Online (Sandbox Code Playgroud)

每当焦点TextFormField对准时,其边框和图标就会变成蓝色。我希望通过改变focusColor我可以覆盖这种行为,但是当我投入时它似乎没有做任何事情Colors.green

对焦时如何设置不同的颜色?

flutter

2
推荐指数
1
解决办法
6548
查看次数

标签 统计

flutter ×3

bloc ×1

firebase ×1

google-cloud-firestore ×1