#flutter #dart #bloc
Вопрос:
Почему в listview.builder событие не вызывается несколько раз: оно запускается только один раз .
class _UsersQuestionsState extends State<UsersQuestions> {
@override
Widget build(BuildContext context) {
Size size = MediaQuery.of(context).size;
return BlocBuilder<QuestionWatcherBloc, QuestionWatcherState>(
builder: (context, state) {
return state.map(
loadInProgress: (_) => const Center(
child: Text("Loading"),
),
loadSuccess: (state) {
return ListView.builder(
shrinkWrap: true,
physics: const NeverScrollableScrollPhysics(),
itemCount: state.questions.size,
itemBuilder: (
context,
index,
) {
// ignore: avoid_unnecessary_containers
//here i want to read another Bloc event for each index and try to update the state but it's called only one time
context.read<UsersWatcherBloc>().add(
UsersWatcherEvent.watchAllUsers(
state.questions[index].userId.getorCrash()));
return Container(
child: Column(
children: [
Row(children: [
Wrap(
direction: Axis.vertical,
children: [
BlocBuilder<UsersWatcherBloc, UsersWatcherState>(
builder: (context, state) {
return state.map(
empty: (_) => SizedBox(),
initial: (value) => SizedBox(),
loadFailure: (value) => SizedBox(),
loadInProgress: (value) => SizedBox(),
// here i want to use that value but it's not updatin
according to index
loadSuccess: (value) => Text( value.users.first.name.getorCrash()),
);
},
),
я должен показать имя пользователя и их данные, которые задают вопрос, чтобы я позвонил другому блоку и передал их идентификатор пользователя и хотел получить их имя обновления в соответствии с сообщением, но на данный момент я получаю те же данные пользователя для каждого вопроса.событие bcs не вызывается для каждого индекса.
Комментарии:
1. Пожалуйста, не размещайте код в виде изображений. Это текст, поэтому включите соответствующую часть в надлежащем формате и объясните ситуацию
2. хорошо, сэр, дайте мне 1 минуту
3. @SamiKuhmonen, сэр, пожалуйста, проверьте сейчас