jjzjj

dart - Flutter/Dart 错误 : Unexpected tag 0 (Nothing) in _MyAppState@16036154. 构建

coder 2023-07-22 原文

我在尝试遵循此 tutorial 时遇到了以下错误.奇怪的是,谷歌搜索此错误消息并没有得到任何有用的见解。

错误信息:

I/flutter ( 5472): ══╡ EXCEPTION CAUGHT BY WIDGETS LIBRARY 
╞═══════════════════════════════════════════════════════════
I/flutter ( 5472): The following _CompileTimeError was thrown building MyApp(dirty, state: _MyAppState#f8841):
I/flutter ( 5472): 'file:///Users/micah/MobileApps/flutter_test_1/lib/main.dart': error: Unexpected tag 0 (Nothing) in
I/flutter ( 5472): _MyAppState@16036154.build, expected a procedure, a constructor or a function node
I/flutter ( 5472):
I/flutter ( 5472): When the exception was thrown, this was the stack:
I/flutter ( 5472): #0      StatefulElement.build (package:flutter/src/widgets/framework.dart:3730:27)

ma​​in.dart 文件:

import 'package:flutter/material.dart';

//    import './product_manager.dart';

void main() => runApp(MyApp());

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
      //  appBar: AppBar(
      //    title: Text('EasyList'),
      //  ),
      //  body: ProductManager(),
      ),
    );
  }
}

products.dart 文件:

import 'package:flutter/material.dart';

class Products extends StatelessWidget {
  final List<String> products;

  Products(this.products);

  @override
  Widget build(BuildContext context) {
    return Column(
      children: products
        .map(
          (element) => Card(
                child: Column(
                  children: <Widget>[
                    Image.asset('assets/food.jpg'),
                    Text(element)
                  ],
                ),
              ),
        )
        .toList()
      );
  }
}

product_manager.dart 文件:

import 'package:flutter/material.dart';

import './products.dart';

class ProductManager extends StatefulWidget {
  @override
  State<StatefulWidget> createState() {
    return _ProductManagerState();
  }
}

class _ProductManagerState extends State<ProductManager> {
  List<String> _products = ['Food Tester'];

  @override
  Widget build(BuildContext context) {
    return Column(
      children: [
        Container(
          margin: EdgeInsets.all(10.0),
          child: RaisedButton(
            onPressed: () {
              setState(() {
                _products.add('Advanced Food Tester');
              });
            },
            child: Text('Add Product'),
          ),
        ),
        Products(_products)
      ],
    );
  }
}

最佳答案

单击“重新启动调试”修复了问题。

我认为问题可能与我从 StatefullWidget 更改为 StatelessWidget 而没有重新启动调试器有关。

关于dart - Flutter/Dart 错误 : Unexpected tag 0 (Nothing) in _MyAppState@16036154. 构建,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51251050/

有关dart - Flutter/Dart 错误 : Unexpected tag 0 (Nothing) in _MyAppState@16036154. 构建的更多相关文章

  1. Flutter 环境变量配置和flutter doctor中的错误解决 - 2

    一、环境变量右键点击我的电脑-属性:然后找到环境变量 1.Android的SDK不在C盘的话需要额外配这个到用户环境变量:ANDROID_HOMED:\AndroidSDK2.然后在系统变量:Path中添加一条这样的值        D:\Flutter\flutter\bin             这个值写flutter包解压的实际地址即可 3.在系统变量中添加两个镜像变量:        变量名:FLUTTER_STORAGE_BASE_URL      变量值:https://storage.flutter-io.cn        变量名:PUB_HOSTED_URL      变量

  2. ruby - Nothing Known About ... 使用 ri 数组时——Ruby - 2

    我有Ubuntu11.10,正在使用rvm和ruby​​1.9.2。我完全按照这个来安装Ruby:http://blog.sudobits.com/2011/10/27/how-to-install-ruby-on-rails-in-ubuntu-11-10/我用生成文档rvmdocsgenerate这似乎适用于一次性终端session,但一旦我退出并重新开始,我必须再次生成文档,否则我会收到NothingisKnown错误这需要很长时间,所以我宁愿不必在每次启动终端session时都生成文档。我可以做些什么来使文档永久可用吗?肯定有与此类似的问题——但我对生成文档或使用它们没有问题,

  3. ruby-on-rails - 在 Rails 5.1 及更高版本中使用什么代替 `render :text` (和 `render nothing: true` )? - 2

    Rails5.1removesawholeloadofpreviouslydeprecatedmethods.其中就有老friendrender:text。当您需要呈现一些文本,但又不想占用View模板的开销时,它非常有用。示例:rendertext:"ok"rendertext:t('business_rules.project_access_denied'),status:401用什么代替? 最佳答案 未弃用的方法是使用render:plainRailsGuideonLayoutsandRendering:2.2.6Render

  4. javascript - Google Dart JavaScript 转换器是否支持旧版浏览器? - 2

    GoogleDartJavaScript转换器支持旧版浏览器还是仅支持现代浏览器? 最佳答案 根据technicaloverviewofitsofficialsite:您将能够以多种方式运行Dart代码:1.将Dart代码转换为可在任何现代浏览器中运行的JavaScript:Chrome、Safari5+和Firefox4+(即将推出更多浏览器支持)。2.在服务器端直接在虚拟机中执行Dart代码3.使用Dartboard在任何浏览器窗口中编写、修改和执行小型Dart程序Dart->JavaScript编译器几乎不可能支持旧版浏览器。

  5. javascript - 用 Dart 可视化? - 2

    我的工作涉及大量的可视化。我一直在用D3.js和JavaScriptInfovistoolkit我最近了解到Dart如何成为开发Web应用程序的新方法。Q1。Dart是否提供任何用于可视化的库(某种级别的D3.js或JavaScriptInfovistoolkit)?Q2。如果我继续使用Dart,我可以使用D3.js吗?/JavascriptInfovistoolkit与Dart一起?编辑:我在互联网上发现wecanuseJavascriptalongwithDart.我经历了DartFAQ,但无法真正找到与可视化库或D3.js本身相关的任何内容。 最佳答案

  6. javascript - Dart vs JavaScript——它们是编译语言还是解释语言? - 2

    Dart被认为是编译语言还是解释语言?同样的问题也适用于JavaScript。问题原因:我去过watchinganinterview与dart的创始人一起,在7:10LarsBak说:"Whenyou[...]inaJavaScriptprogram,youactuallyexecuteJavaScriptbeforeyoustartrunningtherealprogram.InDart,youdon'texecuteanythingbeforethefirstinstructioninmainisbeingexecuted".在我看来,他是在说JavaScript是一种编译型语言,

  7. javascript - Gulp-inject 说 "Nothing to inject into index.html" - 2

    我试图在我的索引中注入(inject)一些文件,所有这些文件都连接并缩小到一个.tmp文件夹中,如下所示:gulp.task('prep-js',['clean'],function(){varjspath='./src/page/**/*.js';vartreatJs=gulp.src(jspath).pipe(plugins.concat('scripts.js')).pipe(plugins.uglify()).pipe(gulp.dest('.tmp/page/js'))});但是当我运行注入(inject)任务时,它显示“没有任何东西可以注入(inject)到index.ht

  8. javascript - Dart js-interop 与 jquery ui - 2

    我是Dart的新手,我在开始使用js-interop库时遇到了问题。我想从jqueryui添加一个slider到我的页面,但我不知道如何从Dart进行slider()设置调用。js-interop是这样做的正确方法吗?对此提供一些帮助将不胜感激。voidmain(){js.scoped((){varslider=query('#slider-range');varoptions=js.map({'range':true,'values':[17,67]});//Thisdoesn'twork.Elementhasnomethodnamedslider.slider.slider(opt

  9. javascript - 处理 DART 中的事件 - 2

    我是DART的新手。我阅读了语言概述并在DART编辑器中检查了示例代码。到目前为止,我找不到如何处理DART中的事件。例如onclick="call_dart_method()".我们如何处理DART中的事件? 最佳答案 这不是你在Dart上的做法在此处查看“事件”部分下的内容:http://www.dartlang.org/articles/improving-the-dom/elem.onClick.listen((event)=>print('click!')); 关于javasc

  10. javascript - 相当于 Array.prototype.map() 的 Dart? - 2

    我尝试从Dart中的map列表中获取ID。在JavaScript中会是这样的:varlist=[{id:3,name:'third'},{id:4,name:'fourth'}];varresult=list.map(function(x){returnx.id;});这应该给出结果[3,4]在Dart中是否有一种简单的方法可以做到这一点?到目前为止,我能够做到这一点(在Dart中):varlist=[{'id':3,'name':'third'},{'id':4,'name':'fourth'}];varresult=list.map((x)=>x['id']);结果是“Mapped

随机推荐