对于一个界面,我们通常将它进行分组分割,在react native中,我们使用子组件分割,对于还存在一定复杂度的子组件我们在用同样的方法进行分割,抽成子子组件,界面的分组情况大概如下:

这样的视图组成是完全对的,特别是对于复杂的界面,同时也是符合react native组件的思想。但是对于这样的界面组成遇到的首要问题是数据流动的问题,一般情况下,我们会在根组件a中进行数据的请求 刷新,然后通过props往下传递给b c d e,这个就是问题的所在,数据要向接力赛似的传递,如果对于复杂界面,传递链很深,是非常麻烦的事情。所以,问题之一就是,我们的数据流动是依赖界面结构的!!!!!
使用redux的原因:第一就是能够帮助我们解决组件间数据流动的问题。
使用redux后,数据传递结构为下面的图示:

使用redux后,组件获取数据,不在依赖界面视图结构,不在使用传递链,而是把数据放在store中,将数据获取的结构平展开来,不管组件在视图结构的那一层,想要获取数据,直接在store中获取,数据的获取和界面不在依赖。
网友评论