• 로그인
  • 장바구니에 상품이 없습니다.

home2 게시판 Flutter 게시판 provider에서 get요청시 오류

provider에서 get요청시 오류

6 글 보임 - 1 에서 6 까지 (총 6 중에서)
  • 글쓴이
  • #133223

    이재준
    참가자
    class Profile extends StatefulWidget {
      Profile({super.key});
      @override
      State<Profile> createState() => _ProfileState();
    }
    class _ProfileState extends State<Profile> {
      @override
      void initState() {
        super.initState();
        context.read<store1>().getdata1();
      }
      @override
      Widget build(BuildContext context) {
        return Scaffold(
          appBar: AppBar(title: Text(context.watch<store1>().name),),
          body: Column(
            children: [
              Row(
                children: [
                Icon(Icons.person),
                Text('john kim'),
                Text('팔로우 수${context.watch<store1>().likes}'),
                TextButton(onPressed: (){context.read<store1>().follow();}, child: Text('팔로우')),
              ],),
              SizedBox(height: double.infinity,width: double.infinity,
                child: ListView.builder(itemCount: context.watch<store1>().profiledata.length,
                    itemBuilder: (context,i){return Image.network(context.watch<store1>().profiledata[i]);}),
              )
             
            ],
          )
        );
      }
    }
    //======================provider 변수 창고=================
    class store1 extends ChangeNotifier{
      var name = 'john kim';
      var likes = 0;
      var profiledata = [];
      follow(){
        if(likes%2==0){likes+=1;}
        else {likes-=1;}
        notifyListeners();
      }
      getdata1()async{
        var result = await http.get(Uri.parse('https://codingapple1.github.io/app/profile.json'));
        if (result.statusCode == 200) {
          var result2 = jsonDecode(result.body);
          profiledata = result2;
          print(profiledata);
          notifyListeners();
        } else {
          throw Exception('데이터 로드 실패');
        }
      }
    }
    
    
    슨상님,, 이렇게 코드를 짰그등여,,, 근데 이제 사람 이름 눌렀을 때 사진은 안나오고 콘솔 창에
    ======== Exception caught by scheduler library =====================================================
    The following assertion was thrown during a scheduler callback:
    Assertion failed: file:///C:/flutter/packages/flutter/lib/src/rendering/mouse_tracker.dart:200:12
    !_debugDuringDeviceUpdate
    is not true
    When the exception was thrown, this was the stack: 
    dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/errors.dart 296:3     throw_
    dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/errors.dart 29:3      assertFailed
    packages/flutter/src/rendering/mouse_tracker.dart 200:13                        [_deviceUpdatePhase]
    packages/flutter/src/rendering/mouse_tracker.dart 367:5                         updateAllDevices
    packages/flutter/src/rendering/binding.dart 485:7                               <fn>
    packages/flutter/src/scheduler/binding.dart 1397:7                              [_invokeFrameCallback]
    packages/flutter/src/scheduler/binding.dart 1331:11                             handleDrawFrame
    packages/flutter/src/scheduler/binding.dart 1176:5                              [_handleDrawFrame]
    lib/_engine/engine/platform_dispatcher.dart 1408:5                              invoke
    lib/_engine/engine/platform_dispatcher.dart 310:5                               invokeOnDrawFrame
    lib/_engine/engine/initialization.dart 187:36                                   <fn>
    dart-sdk/lib/_internal/js_dev_runtime/patch/js_allow_interop_patch.dart 188:27  _callDartFunctionFast1
    ====================================================================================================
    이런 오류가 미친듯이 뜨는데 어떻게 해야 하나유ㅠㅠㅠ
    
    
    #133228

    codingapple
    키 마스터
    에디터 껐다켜보거나 폰에 있는 앱 지웠다가 다시 실행해봅시다
    #133243

    이재준
    참가자
    폰에 있는 앱 지우고 에디터 껐다 켜보고 다시 시작해봤는데
    
    
    
    
    
    
    ======== Exception caught by rendering library =====================================================
    The following assertion was thrown during performLayout():
    RenderBox was not laid out: RenderFlex#edac0 relayoutBoundary=up1 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
    'package:flutter/src/rendering/box.dart':
    Failed assertion: line 2164 pos 12: 'hasSize'
    Either the assertion indicates an error in the framework itself, or we should provide substantially more information in this error message to help you determine and fix the underlying cause.
    In either case, please report this assertion by filing a bug on GitHub:
      https://github.com/flutter/flutter/issues/new?template=2_bug.yml
    The relevant error-causing widget was: 
      Scaffold Scaffold:file:///C:/Users/joon/Desktop/instagram/lib/main.dart:236:12
    When the exception was thrown, this was the stack: 
    #2      RenderBox.size (package:flutter/src/rendering/box.dart:2164:12)
    #3      MultiChildLayoutDelegate.layoutChild (package:flutter/src/rendering/custom_layout.dart:174:18)
    #4      _ScaffoldLayout.performLayout (package:flutter/src/material/scaffold.dart:1092:7)
    #5      MultiChildLayoutDelegate._callPerformLayout (package:flutter/src/rendering/custom_layout.dart:237:7)
    #6      RenderCustomMultiChildLayoutBox.performLayout (package:flutter/src/rendering/custom_layout.dart:404:14)
    #7      RenderObject.layout (package:flutter/src/rendering/object.dart:2608:7)
    #8      RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:111:21)
    #9      RenderObject.layout (package:flutter/src/rendering/object.dart:2608:7)
    #10     RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:111:21)
    #11     _RenderCustomClip.performLayout (package:flutter/src/rendering/proxy_box.dart:1448:11)
    #12     RenderObject.layout (package:flutter/src/rendering/object.dart:2608:7)
    #13     RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:111:21)
    #14     RenderObject.layout (package:flutter/src/rendering/object.dart:2608:7)
    #15     RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:111:21)
    #16     RenderObject.layout (package:flutter/src/rendering/object.dart:2608:7)
    #17     RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:111:21)
    #18     RenderObject.layout (package:flutter/src/rendering/object.dart:2608:7)
    #19     ChildLayoutHelper.layoutChild (package:flutter/src/rendering/layout_helper.dart:61:11)
    #20     RenderStack._computeSize (package:flutter/src/rendering/stack.dart:595:43)
    #21     RenderStack.performLayout (package:flutter/src/rendering/stack.dart:622:12)
    #22     RenderObject.layout (package:flutter/src/rendering/object.dart:2608:7)
    #23     RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:111:21)
    #24     RenderObject.layout (package:flutter/src/rendering/object.dart:2608:7)
    #25     RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:111:21)
    #26     RenderObject.layout (package:flutter/src/rendering/object.dart:2608:7)
    #27     RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:111:21)
    #28     RenderObject.layout (package:flutter/src/rendering/object.dart:2608:7)
    #29     RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:111:21)
    #30     RenderObject.layout (package:flutter/src/rendering/object.dart:2608:7)
    #31     RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:111:21)
    #32     RenderObject.layout (package:flutter/src/rendering/object.dart:2608:7)
    #33     RenderOffstage.performLayout (package:flutter/src/rendering/proxy_box.dart:3726:14)
    #34     RenderObject.layout (package:flutter/src/rendering/object.dart:2608:7)
    #35     RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:111:21)
    #36     RenderObject.layout (package:flutter/src/rendering/object.dart:2608:7)
    #37     _RenderTheaterMixin.layoutChild (package:flutter/src/widgets/overlay.dart:1002:13)
    #38     _RenderTheater.performLayout (package:flutter/src/widgets/overlay.dart:1311:9)
    #39     RenderObject._layoutWithoutResize (package:flutter/src/rendering/object.dart:2446:7)
    #40     PipelineOwner.flushLayout (package:flutter/src/rendering/object.dart:1052:18)
    #41     PipelineOwner.flushLayout (package:flutter/src/rendering/object.dart:1065:15)
    #42     RendererBinding.drawFrame (package:flutter/src/rendering/binding.dart:602:23)
    #43     WidgetsBinding.drawFrame (package:flutter/src/widgets/binding.dart:1164:13)
    #44     RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:468:5)
    #45     SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1397:15)
    #46     SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:1318:9)
    #47     SchedulerBinding._handleDrawFrame (package:flutter/src/scheduler/binding.dart:1176:5)
    #48     _invoke (dart:ui/hooks.dart:312:13)
    #49     PlatformDispatcher._drawFrame (dart:ui/platform_dispatcher.dart:419:5)
    #50     _drawFrame (dart:ui/hooks.dart:283:31)
    (elided 2 frames from class _AssertionError)
    The following RenderObject was being processed when the exception was fired: RenderCustomMultiChildLayoutBox#ffba0 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
    ...  parentData: <none> (can use size)
    ...  constraints: BoxConstraints(w=411.4, h=890.3)
    ...  size: Size(411.4, 890.3)
    RenderObject: RenderCustomMultiChildLayoutBox#ffba0 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
      parentData: <none> (can use size)
      constraints: BoxConstraints(w=411.4, h=890.3)
      size: Size(411.4, 890.3)
    ...  child 1: RenderFlex#edac0 relayoutBoundary=up1 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
    ...    parentData: offset=Offset(0.0, 0.0); id=_ScaffoldSlot.body (can use size)
    ...    constraints: BoxConstraints(0.0<=w<=411.4, 0.0<=h<=810.3)
    ...    size: MISSING
    ...    direction: vertical
    ...    mainAxisAlignment: start
    ...    mainAxisSize: max
    ...    crossAxisAlignment: center
    ...    verticalDirection: down
    ...    child 1: RenderFlex#d50e9 relayoutBoundary=up2 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
    ...      parentData: offset=Offset(0.0, 0.0); flex=null; fit=null (can use size)
    ...      constraints: BoxConstraints(0.0<=w<=411.4, 0.0<=h<=Infinity)
    ...      size: Size(411.4, 48.0)
    ...      direction: horizontal
    ...      mainAxisAlignment: start
    ...      mainAxisSize: max
    ...      crossAxisAlignment: center
    ...      textDirection: ltr
    ...      verticalDirection: down
    ...      child 1: RenderSemanticsAnnotations#895f8 relayoutBoundary=up3 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
    ...        parentData: offset=Offset(0.0, 12.0); flex=null; fit=null (can use size)
    ...        constraints: BoxConstraints(unconstrained)
    ...        size: Size(24.0, 24.0)
    ...        child: RenderExcludeSemantics#6fc81 relayoutBoundary=up4 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
    ...          parentData: <none> (can use size)
    ...          constraints: BoxConstraints(unconstrained)
    ...          size: Size(24.0, 24.0)
    ...          excluding: true
    ...      child 2: RenderParagraph#d3502 relayoutBoundary=up3 NEEDS-PAINT
    ...        parentData: offset=Offset(24.0, 14.0); flex=null; fit=null (can use size)
    ...        constraints: BoxConstraints(unconstrained)
    ...        size: Size(55.0, 20.0)
    ...        textAlign: start
    ...        textDirection: ltr
    ...        softWrap: wrapping at box width
    ...        overflow: clip
    ...        locale: en_US
    ...        maxLines: unlimited
    ...        text: TextSpan
    ...          debugLabel: (englishLike bodyMedium 2021).merge((blackMountainView bodyMedium).apply)
    ...          inherit: false
    ...          color: Color(0xff1d1b20)
    ...          family: Roboto
    ...          size: 14.0
    ...          weight: 400
    ...          letterSpacing: 0.3
    ...          baseline: alphabetic
    ...          height: 1.4x
    ...          leadingDistribution: even
    ...          decoration: Color(0xff1d1b20) TextDecoration.none
    ...          "john kim"
    ...      child 3: RenderParagraph#56e09 relayoutBoundary=up3 NEEDS-PAINT
    ...        parentData: offset=Offset(79.0, 13.5); flex=null; fit=null (can use size)
    ...        constraints: BoxConstraints(unconstrained)
    ...        size: Size(64.4, 21.0)
    ...        textAlign: start
    ...        textDirection: ltr
    ...        softWrap: wrapping at box width
    ...        overflow: clip
    ...        locale: en_US
    ...        maxLines: unlimited
    ...        text: TextSpan
    ...          debugLabel: (englishLike bodyMedium 2021).merge((blackMountainView bodyMedium).apply)
    ...          inherit: false
    ...          color: Color(0xff1d1b20)
    ...          family: Roboto
    ...          size: 14.0
    ...          weight: 400
    ...          letterSpacing: 0.3
    ...          baseline: alphabetic
    ...          height: 1.4x
    ...          leadingDistribution: even
    ...          decoration: Color(0xff1d1b20) TextDecoration.none
    ...          "팔로우 수0"
    ...      child 4: RenderSemanticsAnnotations#b46c8 relayoutBoundary=up3 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
    ...        parentData: offset=Offset(143.4, 0.0); flex=null; fit=null (can use size)
    ...        constraints: BoxConstraints(unconstrained)
    ...        semantic boundary
    ...        size: Size(64.0, 48.0)
    ...        child: _RenderInputPadding#be262 relayoutBoundary=up4 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
    ...          parentData: <none> (can use size)
    ...          constraints: BoxConstraints(unconstrained)
    ...          size: Size(64.0, 48.0)
    ...    child 2: RenderConstrainedBox#7681d relayoutBoundary=up2 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
    ...      parentData: offset=Offset(0.0, 0.0); flex=null; fit=null (can use size)
    ...      constraints: BoxConstraints(0.0<=w<=411.4, 0.0<=h<=Infinity)
    ...      size: MISSING
    ...      additionalConstraints: BoxConstraints(biggest)
    ...      child: RenderClipRect#ac944 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
    ...        parentData: <none>
    ...        constraints: MISSING
    ...        size: MISSING
    ...        child: RenderTransform#78783 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
    ...          parentData: <none>
    ...          constraints: MISSING
    ...          size: MISSING
    ...          transform matrix: [0] 1.0,0.0,0.0,0.0
    [1] 0.0,1.0,0.0,0.0
    [2] 0.0,0.0,1.0,0.0
    [3] 0.0,0.0,0.0,1.0
    ...          origin: null
    ...          alignment: AlignmentDirectional.bottomCenter
    ...          textDirection: ltr
    ...          transformHitTests: true
    ...  child 2: RenderConstrainedBox#3476e relayoutBoundary=up1 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
    ...    parentData: offset=Offset(0.0, 0.0); id=_ScaffoldSlot.appBar (can use size)
    ...    constraints: BoxConstraints(w=411.4, 0.0<=h<=890.3)
    ...    size: Size(411.4, 80.0)
    ...    additionalConstraints: BoxConstraints(0.0<=w<=Infinity, 0.0<=h<=80.0)
    ...    child: RenderSemanticsAnnotations#1ca9b relayoutBoundary=up2 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
    ...      parentData: <none> (can use size)
    ...      constraints: BoxConstraints(w=411.4, 0.0<=h<=80.0)
    ...      semantic boundary
    ...      size: Size(411.4, 80.0)
    ...      child: RenderAnnotatedRegion<SystemUiOverlayStyle>#7ea52 relayoutBoundary=up3 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
    ...        needs compositing
    ...        parentData: <none> (can use size)
    ...        constraints: BoxConstraints(w=411.4, 0.0<=h<=80.0)
    ...        size: Size(411.4, 80.0)
    ...        child: RenderPhysicalModel#542a3 relayoutBoundary=up4 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
    ...          parentData: <none> (can use size)
    ...          constraints: BoxConstraints(w=411.4, 0.0<=h<=80.0)
    ...          size: Size(411.4, 80.0)
    ...          elevation: 0.0
    ...          color: Color(0xfffef7ff)
    ...          shadowColor: Color(0xfffef7ff)
    ...          shape: BoxShape.rectangle
    ...          borderRadius: BorderRadius.zero
    ...  child 3: RenderStack#27938 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
    ...    parentData: offset=Offset(0.0, 0.0); id=_ScaffoldSlot.floatingActionButton
    ...    constraints: MISSING
    ...    size: MISSING
    ...    alignment: Alignment.centerRight
    ...    textDirection: ltr
    ...    fit: loose
    ...    child 1: RenderTransform#6e509 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
    ...      parentData: not positioned; offset=Offset(0.0, 0.0)
    ...      constraints: MISSING
    ...      size: MISSING
    ...      transform matrix: [0] 0.0,0.0,0.0,0.0
    [1] 0.0,0.0,0.0,0.0
    [2] 0.0,0.0,1.0,0.0
    [3] 0.0,0.0,0.0,1.0
    ...      origin: null
    ...      alignment: Alignment.center
    ...      textDirection: ltr
    ...      transformHitTests: true
    ...      child: RenderTransform#47a5f NEEDS-LAYOUT NEEDS-PAINT
    ...        parentData: <none>
    ...        constraints: MISSING
    ...        size: MISSING
    ...        transform matrix: [0] 0.7,0.7,0.0,0.0
    [1] -0.7,0.7,0.0,0.0
    [2] 0.0,0.0,1.0,0.0
    [3] 0.0,0.0,0.0,1.0
    ...        origin: null
    ...        alignment: Alignment.center
    ...        textDirection: ltr
    ...        transformHitTests: true
    ====================================================================================================
    I/flutter ( 4467): [https://codingapple1.github.io/app/car0.png, https://codingapple1.github.io/app/car1.png, https://codingapple1.github.io/app/car2.png, https://codingapple1.github.io/app/car3.png, https://codingapple1.github.io/app/car4.png, https://codingapple1.github.io/app/car5.png]
    D/EGL_emulation( 4467): app_time_stats: avg=84.86ms min=4.39ms max=1034.63ms count=19
    D/EGL_emulation( 4467): app_time_stats: avg=642.04ms min=4.85ms max=17592.55ms count=28
    D/EGL_emulation( 4467): app_time_stats: avg=33.85ms min=11.24ms max=162.83ms count=29
    D/EGL_emulation( 4467): app_time_stats: avg=40.47ms min=5.14ms max=461.77ms count=24
    D/EGL_emulation( 4467): app_time_stats: avg=42.82ms min=4.47ms max=136.94ms count=23
    D/EGL_emulation( 4467): app_time_stats: avg=61.79ms min=8.33ms max=595.59ms count=22
    D/EGL_emulation( 4467): app_time_stats: avg=44.51ms min=4.95ms max=360.41ms count=22
    
    
    
    
    
    
    
    오류 문구가 더 길어졌습니다 ㅠㅠ
     
    #133244

    이재준
    참가자
    따이,, 해결을 했습니다
    #133264

    codingapple
    키 마스터
    어떻게 했습니까
    #133283

    이재준
    참가자
    처음에는 사진 보여주는곳의 사이즈를 특정해서 해결하려 했습니다. 근데 안되더라구요. 그래서 개열받아서 그냥 body 에 또 Scaffold 넣어서
    다시 body 만들고 거기다 사진 박았습니다.
    
    그랬더니 되더군용
    
    
    class Profile extends StatefulWidget {
      Profile({super.key});
      @override
      State<Profile> createState() => _ProfileState();
    }
    class _ProfileState extends State<Profile> {
      @override
      void initState() {
        super.initState();
        context.read<store1>().getdata1();
      }
      @override
      Widget build(BuildContext context) {
        return Scaffold(
          appBar: AppBar(title: Text(context.watch<store1>().name),),
          body: Scaffold(
            appBar: AppBar(automaticallyImplyLeading: false,toolbarHeight: 40,
              leading: Icon(Icons.person), title: Text('john kim'), actions: [Text('팔로우 수${context.watch<store1>().likes}'),TextButton(onPressed: (){context.read<store1>().follow();}, child: Text('팔로우'))],),
            body: Container(
              child: ListView.builder(itemCount: context.watch<store1>().profiledata.length,
                  itemBuilder: (context,i){return Image.network(context.watch<store1>().profiledata[i]);}),
            ),
          )
        );
      }
    }
6 글 보임 - 1 에서 6 까지 (총 6 중에서)
  • 답변은 로그인 후 가능합니다.

About

현재 월 700명 신규수강중입니다.

  (09:00~20:00) 빠른 상담은 카톡 플러스친구 코딩애플 (링크)
  admin@codingapple.com
  이용약관
ⓒ Codingapple, 강의 예제, 영상 복제 금지
top

© Codingapple, All rights reserved. 슈퍼로켓 에듀케이션 / 서울특별시 강동구 고덕로 19길 30 / 사업자등록번호 : 212-26-14752 온라인 교육학원업 / 통신판매업신고번호 : 제 2017-서울강동-0002 호 / 개인정보관리자 : 박종흠