ReactNative 进阶(二十九):BloC 模式
一、什么是 BloC 模式?
BloC
【Business Logic Component
】模式是 paolo soares 和 cong hui 在 2018 年 Google dartconf 上提出的,具体的视频你可以参考YouTube.
从视频中可以看到 paolo soares 用一个及其简单的例子阐述了传统写法的问题:
业务逻辑和 UI 组件糅合在一起。
不方便测试,不利于单独的测试业务逻辑部分。
不能更好的重用业务逻辑代码,体现在,如果网络请求的逻辑有所变动的话,加入这个业务功能被两个端(web、flutter)使用的话,是需要改动两个地方的。
基于上面出现的一些问题,paolo soares 顺利的将我们重传统的开放方式,引入到了 Bloc 模式。
BloC
架构图如下:
二、BlocProvider (视图标签)
BlocProvider
: 使用 BlocProvider
将 Bloc
与 View
进行关联, 使在 View
中, 可以使用 Bloc
.
三、StreamBuilder (视图标签)
StreamBuilder
: 响应式视图. 当 Bloc
中数据改变时, 会重构 StreamBuilder
.
StreamBuilder
架构图如下:
四、拓展阅读
五、延伸阅读
在安装脚手架工具Yaemon
时,发现npm
命令执行报错,错误信息如下:
查询后发现是由于npm
损坏了,are-we-there-yet
是npm
下npmlog
依赖的一个包。接下来就是一番折腾,参照如下步骤尝试去解决:
执行后,发现错误依旧存在。
索性直接重装。
针对Homebrew
安装的,应用如下方法卸载:
针对pkg
安装包安装的,应用如下方法卸载:
或者
注意:卸载完成后可通过在控制台输入:node/npm 来判断是否卸载完全
最后,就是重新安装node
,Homebrew
安装方式如下:
也可以通过 pkg 安装包方式安装。
安装后,执行如下命令验证安装成功与否:
注意:
npm
是集成在node
中的,所以需要通过卸载/重装node
来实现卸载/重装npm
。
版权声明: 本文为 InfoQ 作者【No Silver Bullet】的原创文章。
原文链接:【http://xie.infoq.cn/article/261f3f6116bbee9339c43aae2】。文章转载请联系作者。
评论