V0.2.4
现在global state与page之间的单向传递已经很不错了。但是现在page到页面的component,依然还有类似的问题。
要如何比较合理的实现component有一部分是自己独有的state,并且有一部分page的state呢?
yfjy0ee71#
当前的设计来说,似乎page必须要保存page里面全部需要的数据,而不能让每一个component来单独管理。。。 那其实就失去了部分分立的小功能区的制作模式。
举一个实际的例子可能更好理解,比如app有bottom navigation bar,然后可以切换,我现在的设计是把整体做成一个page,然后navigation bar是一个component,bar上面就是有很多component,进行切换。不知道这样的设计有没有什么问题。或者会不会有更合理的方式来做这种效果
wgeznvg72#
就 bottom navigation bar 问题而言,似乎是嵌套4个独立的Page(独立store),更加贴切。类似于独立Fragment。
但就component保持自己独有的state主题:1、如果要保持独立的state, 那么就它应该有独立的store。
2、如果要保持独立的props,可以参考 LocalState 。
所以有没有更多必要的需求,要求component保持独立状态?
7lrncoxx3#
比如一个大型App的首屏,类似淘宝,天猫这种级别,通常来说,这个page都会比较复杂,数据非常多。所以从设计Angular 来说,是不是可以不让page来管理component里面的state是一个比较好的做法呢?这样component里面可以自己通过生命周期函数来实现加载或者更新的逻辑,而不必让page知道。
如果component的state都在page里面存在,那么写component的话和做一个受控的stateless widget,全部props都由page提供的效果可能会差不多,但stateless写起来要方便很多。不知道设计component这一层的主要核心用意是哪里,可能我没理解到位。
mftmpeh84#
@CoolBerry 看下这个,是不是和你的问题一致,state是否可以由独立的数据,你解决了吗? #636
4条答案
按热度按时间yfjy0ee71#
当前的设计来说,似乎page必须要保存page里面全部需要的数据,而不能让每一个component来单独管理。。。 那其实就失去了部分分立的小功能区的制作模式。
举一个实际的例子可能更好理解,比如app有bottom navigation bar,然后可以切换,我现在的设计是把整体做成一个page,然后navigation bar是一个component,bar上面就是有很多component,进行切换。不知道这样的设计有没有什么问题。或者会不会有更合理的方式来做这种效果
wgeznvg72#
就 bottom navigation bar 问题而言,似乎是嵌套4个独立的Page(独立store),更加贴切。类似于独立Fragment。
但就component保持自己独有的state主题:
1、如果要保持独立的state, 那么就它应该有独立的store。
2、如果要保持独立的props,可以参考 LocalState 。
所以有没有更多必要的需求,要求component保持独立状态?
7lrncoxx3#
比如一个大型App的首屏,类似淘宝,天猫这种级别,通常来说,这个page都会比较复杂,数据非常多。所以从设计Angular 来说,是不是可以不让page来管理component里面的state是一个比较好的做法呢?这样component里面可以自己通过生命周期函数来实现加载或者更新的逻辑,而不必让page知道。
如果component的state都在page里面存在,那么写component的话和做一个受控的stateless widget,全部props都由page提供的效果可能会差不多,但stateless写起来要方便很多。不知道设计component这一层的主要核心用意是哪里,可能我没理解到位。
mftmpeh84#
@CoolBerry 看下这个,是不是和你的问题一致,state是否可以由独立的数据,你解决了吗? #636