alibaba / fish-redux

An assembled flutter application framework.
https://github.com/alibaba/fish-redux
Apache License 2.0
7.33k stars 843 forks source link

Component dispatch action时,页面没更新 #653

Open junglehuang opened 4 years ago

junglehuang commented 4 years ago

想用Component 维护自身的state,但是发现不生效,代码如下

子组件state image

子组件reducer image

子组件view image

如果用Connector关联父组件的某个状态,就可以成功更新 image

麻烦大佬帮忙看下是什么问题,感谢。还是本来component就不能独立维护自己的state??

zjuwjf commented 4 years ago

connector 是连接子state和父state关系,你的第二次的做法是正确的。

component就不能独立维护自己的state? 如果子state和父state之间不存在状态关联关系,当然可以,但是你的案例,他们的tabIndex字段是有共同关系的?

junglehuang commented 4 years ago

connector 是连接子state和父state关系,你的第二次的做法是正确的。

component就不能独立维护自己的state? 如果子state和父state之间不存在状态关联关系,当然可以,但是你的案例,他们的tabIndex字段是有共同关系的?

@zjuwjf , 您好,感谢回复,我意思是想用一个component独立维护自己的state。那我是不是只能去生成一个page,然后用xxxPage().buildPage({})去引入,就是说我的class只有继承了Page<xxx, Map<String, dynamic>>,才有自己的独立状态,独立的Widget,不依赖原有的父类组件?

因为我发现,如果我创建的是继承ComponentState, 本身的super里就没有initState。所以,是不是继承了ComponentState,就无法独立维护状态?只能与某一个page关联状态才行?

wangemng commented 4 years ago

你这个问题解决了吗?

stronger-gzc commented 3 years ago

connector 是连接子state和父state关系,你的第二次的做法是正确的。

component就不能独立维护自己的state? 如果子state和父state之间不存在状态关联关系,当然可以,但是你的案例,他们的tabIndex字段是有共同关系的?

请问,如果component和page既有共同关系,component又想自己维护state,应该怎么办呢?