Следующая ошибка _TypeError была выдана при построении Obx (имеет builder,грязное, состояние: ObxState#2f6f5): тип «NullPhp

Кемеровские программисты php общаются здесь
Anonymous
Следующая ошибка _TypeError была выдана при построении Obx (имеет builder,грязное, состояние: ObxState#2f6f5): тип «Null

Сообщение Anonymous »

Код: Выделить всё

**LoginController**

import 'dart:convert';
import 'package:akin/api/api_services.dart';
import 'package:akin/model/user_model.dart';
import 'package:akin/view/screens/dashboard_bottom_navigation_screen.dart';
import 'package:flutter/cupertino.dart';
import 'package:get/get.dart';
import 'package:get/get_rx/get_rx.dart';
import 'package:http/http.dart';

class LoginController extends GetxController{

Rx loading = false.obs;

var userList = {}.obs;

final emailController = TextEditingController().obs;
final passwordController = TextEditingController().obs;

Future loginAPI() async {

Map body = {
"email" : emailController.value.text,
"password" : passwordController.value.text
};

var dataEncode = jsonEncode(body);

string url = "API endpoint";

final response = await post(Uri.parse("url"),
body: dataEncode
);

var loginData = jsonDecode(response.body);

if(loginData['status']==200){
Get.snackbar(loginData['msg'],"Thank You");
Get.off(()=> DashboardBottomNavigationScreen());
userList.value = loginData['data'];
// print(userList);
//return userModelFromJson(response.body);

}else{
Get.snackbar(loginData['msg'],"Invalids Credential");
}
throw{
Get.snackbar("Error", "APi error")

};

}

}

Код: Выделить всё

**HomeScreen**

// Outside the build method
final controller = Get.put(LoginController());

body : Container(
width: wi*1,
child: Column(
children: [
SizedBox(height: he*0.01,),
Container(
height: he*0.06,
width: wi*1,
color: lightBlue,
child: Obx(() {
return Center(
child: Text("Welcome "+controller.userList['first_name'],style: TextStyle(
color: white,
fontSize: 25,
fontFamily: "Roboto"
),),
);
}
),
);

Код: Выделить всё

**Json **

{
"status": 200,
"msg": "Logged in successfully",
"data": {
"id": 70,
"salutation_id": 1,
"countrycode_id": 77,
"first_name": "****",
"last_name": "****",
"mobile": "0000000000",
"email": "demo@gmail.com",
"password": "123456789",
"user_type": 3,
"department_permission": null,
"created_date": "2024-07-08",
"created_time": "01:16:30 PM",
"updated_date": null,
"updated_time": null,
"status": 1,
"del_status": 1,
"token": "5626748485989555134f4e8b484cda72"
}
}
Проблема, с которой я столкнулся, заключается в том, что выходные данные показывают, что «ваш список пользователей имеет значение null», и есть определенные детали, которые я хочу отобразить на экране. Контроллер продолжает инициализироваться неоднократно, в результате чего он возвращает нулевые значения. Думаю, я не внедряю зависимости GetxController, где использовать put() и find
Может кто-нибудь объяснить логику GetxController?
все, что я мог сделать

Подробнее здесь: https://stackoverflow.com/questions/787 ... state-obxs

Вернуться в «Php»