小编Ale*_*ble的帖子

展会安装开发依赖项

在裸工作流程中使用 Expo Go,根据文档,建议在安装依赖项时优先使用expo installExpo CLInpm installexpo install但是,始终安装在生产依赖项中。

有相当于 的npm install --save-dev吗?

我似乎没有找到一个,所以我目前看到的唯一解决方案是,在使用安装后expo install,将依赖项移至devDependencies并再次运行npm install

react-native expo

10
推荐指数
1
解决办法
7107
查看次数

扑朔迷离的执行顺序:build和initState

我正在尝试创建一个“首选项”菜单,其中有三个与“共享首选项”一起存储的设置(例如“通知”)。它们将应用于SwitchListTiles。

每次选择我的设置选项卡时,都会发生错误(I / flutter(22754):引发了另一个异常:'package:flutter / src / material / switch_list_tile.dart':失败的断言:第84行pos 15:'value!= null ':不正确。)仅显示一毫秒。之后,将显示正确的设置。当我不向“ ProfileState”中初始化的变量添加默认值时,就会发生这种情况。如果它们具有默认值,则错误消失,但是在选项卡选择中,开关从“默认值”到“共享首选项”中的正确值“闪烁”。

我的假设是我的loadSettings函数在build方法之后执行。

我该如何解决?任何帮助表示赞赏。

import 'package:flutter/material.dart';
import 'package:shared_preferences/shared_preferences.dart';

class Profile extends StatefulWidget {
  @override
  ProfileState createState() {
    return new ProfileState();
  }
}

class ProfileState extends State<Profile> {
  bool notifications;
  bool trackHistory;
  bool instantOrders;

  @override
  void initState() {
    super.initState();
    loadSettings();
  }

  //load settings
  loadSettings() async {
    SharedPreferences prefs = await SharedPreferences.getInstance();
    setState(() {
      notifications = (prefs.getBool('notifications') ?? true);
      trackHistory = (prefs.getBool('trackHistory') ?? true);
      instantOrders = (prefs.getBool('instantOrders') ?? false);
    }); …
Run Code Online (Sandbox Code Playgroud)

dart flutter

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

标签 统计

dart ×1

expo ×1

flutter ×1

react-native ×1