向其他 class 发送数据在 flutter dart 中变得空了

Sending data to other class is getting null in flutter dart

我正在使用模型将数据转换为地图。当我将值从 class A 传递给模型时,它是 returns 一张地图,然后我将返回值 (Map) 传递给 class B。在发送估值之前,我正在打印值class A(显示数据)但在 class B 中显示空值。这是class一个函数。

///Dummy Data remove later
   jobPostModel = JobPostModel(
      jobPost: 'Web design',
    );

   var data = jobPostModel.toJob(jobPostModel);
   print('before $data');
   JobPostScreen8(data);

这是返回 Map

的模型 class 函数
class JobPostModel {
  String jobPost;

 JobPostModel(
      {this.jobPost});

  Map toJob(JobPostModel info){
    var data = Map<String, dynamic>();
    data['jobPost'] = info.jobPost;
    return data;
  }
  factory JobPostModel.fromJob(Map<String, dynamic> data){
    return JobPostModel(
      jobPost: data['jobPost']
    );
  }
}

这是另一个 class,我必须在其中显示数据,但它显示为空

class JobPostScreen8 extends StatefulWidget {
  Map jobPostModelMapData;

  JobPostScreen8([this.jobPostModelMapData]);

  @override
  _JobPostScreen8State createState() => _JobPostScreen8State();
}

class _JobPostScreen8State extends State<JobPostScreen8> {
 
  @override
  void initState() {
    super.initState();
    print('after ${widget.jobPostModelMapData}');
  }
}

解决方案是我直接传递给 class B。我只需要使用导航。

BlocListener<JobBloc, JobState>(
      listener: (context, state) {
        if (state is JobSuccessfulState)
          Navigator.of(context)
              .push(MaterialPageRoute(builder: (_) => JobPostScreen8(state.data)));
})

这里是 Bloc

if (event is PreviewPostJob) {
        yield JobSuccessfulState(_updateModel());
      }

和状态

class JobSuccessfulState extends JobState {
  var data;

  JobSuccessfulState([this.data]);
}