加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

reactjs – React.如果演示组件包含容器组件,这是不是很糟糕?

发布时间:2020-12-15 05:07:54 所属栏目:百科 来源:网络整理
导读:根据 https://medium.com/@dan_abramov/smart-and-dumb-components-7ca2f9a7c7d0#.i63w9pvzw Presentational components: May contain both presentational and container components** inside,and usually have some DOM markup and styles of their own. H
根据 https://medium.com/@dan_abramov/smart-and-dumb-components-7ca2f9a7c7d0#.i63w9pvzw

Presentational components:

  • May contain both presentational and container components** inside,and usually have some DOM markup and styles of their own.
  • Have no dependencies on the rest of the app,such as Flux actions or stores.

我认为如果表示组件包含容器组件,它们将依赖于Flux或Redux(或容器组件所依赖的任何东西).

这将使表示组件难以测试和重用.

它还不错,完全没问题. react-redux的重点是让您将容器组件直接连接到商店,而不必将整个商店作为道具传递给每个组件.组件重用不是问题,因为< Provider>组件将使任何连接的容器组件在其下的任何位置工作.

实际上测试容器组件并不困难.您可以将连接的组件设置为默认导出,但也可以将未连接的组件导出为命名导出,您可以将其用于测试,并在这些测试中手动传递道具.有关详细信息,请参阅‘Writing Tests’ part of the Redux docs的“连接组件”部分.

至于测试包含容器组件的表示组件,它不会是一个问题.浅渲染在测试中仍然可以正常工作(除非你遇到this issue).如果您需要在测试中安装组件,您始终可以将其包装在< Provider>中.具有特定于该测试的商店的组件.

编辑:这个答案特定于Redux with react-redux.其他Flux实现可能会遇到一些我不知道的困难.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读