扑扑redux状态已更改,无需调度动作

时间:2020-03-06 14:50:48

标签: flutter redux bloc flutter-redux

我正在一起使用redux和bloc。 我有一个编辑配置文件屏幕,我从redux状态获取初始值,然后在bloc中更改值。 但是当我的状态改变时,redux状态也改变了,而没有调度动作。 我想在用户提交编辑值时更改redux状态。 这是我构建方法的第一部分:

return StoreConnector<AppState, Store<AppState>>(
  converter: (store) => store,
  builder: (context, store) {
    return Scaffold(
      appBar: appBar,
      body: BlocProvider(
        create: (context) => EditUserProfileBloc(
          editEditUserProfileRepository: repository,
        )..add(
            EditUserProfileScreenLoaded(
              userProfile: store.state.userProfile,
            ),
          ),
        child: BlocListener<EditUserProfileBloc, EditUserProfileState>(
          listener: (context, state) async {},
          child: BlocBuilder<EditUserProfileBloc, EditUserProfileState>(
            builder: (context, state) {
              _bloc = BlocProvider.of<EditUserProfileBloc>(context);
                ...

和我的小部件以显示和更改图像:

ImageSelect(
    onSelect: (img) => _bloc.add(
        EditUserProfileImageChanged(imgSrc: img),
    ),
    child: Avatar(imgSrc: state.userProfile.avatar),
),

和我的集团:

if (event is EditUserProfileImageChanged) {
    UserProfile newUserProfile = state.userProfile;

    yield EditUserProfileBeforeTotalChanged();
    newUserProfile.avatar = event.imgSrc;
    yield EditUserProfileTotalState(userProfile: newUserProfile);
}

在这里,当我不保存更改头像时,我使用头像的其他地方也会更改。

0 个答案:

没有答案