fish-redux 如何实现page里面的component都能有一些自己独有的state

xzabzqsa  于 2022-10-25  发布在  其他
关注(0)|答案(4)|浏览(166)

V0.2.4

现在global state与page之间的单向传递已经很不错了。
但是现在page到页面的component,依然还有类似的问题。

要如何比较合理的实现component有一部分是自己独有的state,并且有一部分page的state呢?

yfjy0ee7

yfjy0ee71#

当前的设计来说,似乎page必须要保存page里面全部需要的数据,而不能让每一个component来单独管理。。。 那其实就失去了部分分立的小功能区的制作模式。

举一个实际的例子可能更好理解,比如app有bottom navigation bar,然后可以切换,我现在的设计是把整体做成一个page,然后navigation bar是一个component,bar上面就是有很多component,进行切换。不知道这样的设计有没有什么问题。或者会不会有更合理的方式来做这种效果

wgeznvg7

wgeznvg72#

就 bottom navigation bar 问题而言,似乎是嵌套4个独立的Page(独立store),更加贴切。类似于独立Fragment。

但就component保持自己独有的state主题:
1、如果要保持独立的state, 那么就它应该有独立的store。

2、如果要保持独立的props,可以参考 LocalState

所以有没有更多必要的需求,要求component保持独立状态?

7lrncoxx

7lrncoxx3#

比如一个大型App的首屏,类似淘宝,天猫这种级别,通常来说,这个page都会比较复杂,数据非常多。所以从设计Angular 来说,是不是可以不让page来管理component里面的state是一个比较好的做法呢?这样component里面可以自己通过生命周期函数来实现加载或者更新的逻辑,而不必让page知道。

如果component的state都在page里面存在,那么写component的话和做一个受控的stateless widget,全部props都由page提供的效果可能会差不多,但stateless写起来要方便很多。不知道设计component这一层的主要核心用意是哪里,可能我没理解到位。

mftmpeh8

mftmpeh84#

@CoolBerry 看下这个,是不是和你的问题一致,state是否可以由独立的数据,你解决了吗? #636

相关问题