[flutter]

외부 통신을 통해 플래핑 가져오기 작업을 한다면 퓨처에 넣어야 하는데 받는 결과의 종류가 퓨처이기 때문에 개별적으로 넣는 것보다 퓨처빌더를 이용해서 가져오는 것이 좋을 것 같으니 내가 사용할 게.

FutureBuilder<String>(
        future: _calculation, // a previously-obtained Future<String> or null
        builder: (BuildContext context, AsyncSnapshot<String> snapshot) {
          List<Widget> children;
          if (snapshot.hasData) {
            children = <Widget>(
              const Icon(
                Icons.check_circle_outline,
                color: Colors.green,
                size: 60,
              ),
              Padding(
                padding: const EdgeInsets.only(top: 16),
                child: Text('Result: ${snapshot.data}'),
              ),
            );
          }

https://api.flutter.dev/flutter/widgets/FutureBuilder-class.html

FutureBuilder 클래스 – 위젯 라이브러리 – Dart API

미래와의 상호 작용에 대한 최신 스냅샷을 기반으로 자체적으로 구축되는 위젯입니다.

Future는 예를 들어 State.initState, State.didUpdateWidget 또는 State.didChangeDependencies 중에 더 일찍 얻어야 합니다.

State.bui 중에 생성하면 안 됩니다.

api.flutter.dev

그러나 FutureBuilder의 매개변수 중에는 빌더에서 사용되는 매개변수가 있습니다.

비동기 스냅샷 나는 그것을 사용하지 않는다, 나만 스냅 사진 오류가 발생하여 둘 사이의 차이점이 무엇인지 알았습니다.

Flutter의 FutureBuilder 위젯을 사용하면 비동기 처리를 통해 미래의 결과를 기다리고 결과에 따라 UI를 업데이트할 수 있습니다.

FutureBuilder의 빌더 콜백 함수는 Future의 현재 상태에 따라 다른 위젯을 반환합니다.

FutureBuilder 위젯은 미래의 결과를 나타내는 데 사용되는 Snapshot 객체를 생성합니다.

FutureBuilder의 빌더 콜백 함수가 반환하는 위젯은 스냅샷 개체의 현재 상태에 따라 다릅니다.

스냅샷 개체에는 미래의 현재 상태, 결과 및 오류 정보가 포함됩니다.

미래의 현재 상태에 따라 스냅샷 객체는 다음 상태 중 하나를 가질 수 있습니다.

  1. ConnectionState.none: 미래가 아직 시작되지 않았습니다.

  2. ConnectionState.waiting: 미래가 실행 중이며 결과를 기다리고 있습니다.

  3. ConnectionState.active: Future가 실행 중이며 현재 스트림에서 이벤트를 수신하고 있습니다.

  4. ConnectionState.done: Future가 완료되었고 결과가 있거나 오류가 발생했습니다.

스냅샷은 선물 계약의 결과를 나타내는 데 사용됩니다.

AsyncSnapshot 클래스는 Snapshot의 하위 클래스입니다.

보지마.

AsyncSnapshot 클래스는 Future의 결과 및 오류 정보를 저장하고 스냅샷의 전체 상태를 포함합니다.

하다.

AsyncSnapshot은 FutureBuilder에서 가장 일반적으로 사용되는 스냅샷 클래스보지마.

Snapshot은 Future의 현재 상태를 나타내기 위해 FutureBuilder에서 사용되고, Snapshot의 하위 클래스인 AsyncSnapshot은 Future 결과 및 오류 정보를 저장하는 데 사용됩니다.