Skip to content

什么是命令式组件?

1. 命令式组件简介

命令式组件是一种特殊的组件使用方式,它允许开发者通过函数调用的方式来控制组件的显示和隐藏,而不是通过传统的模板声明方式。这种方式特别适合弹窗、提示框、确认框等临时性UI元素的管理。

通常我们对于命令式组件的控制,一般都是通过一个函数来控制,一个简单的伪代码示例来展示命令式组件通常的用法:

jsx
// 命令式
commandComponent(<div>
    <h1>标题</h1>
    <p>内容</p>
  </div>)

如上,一个函数调用,就可以展示一个组件的全貌.

2. 命令式组件的优点

结合命令式组件的定义,可以总结出命令式组件的优点:

  • 非常灵活,开发体验更流畅
  • 代码更简洁,易维护
  • 符合直觉

但是这些优点并不是鼓动你一股脑使用命令式组件,在现代ui开发中,声明式依然是绝大多数场景的最优解.而只有在一些特殊的场景中,使用命令式组件才会感受到幸福.

3. 开发初衷

尽管声明式开发确实是现代UI框架的核心开发思想,这种开发范式适用于绝大部分场景,但是对于像弹窗开发这类场景来说声明开发范式实在是过于繁琐,如果一个页面弹窗很多的情况下,开发体验非常割裂,说是一种折磨也不为过.再者,唤起一个弹窗本身就是一个动作,一个命令=>一个动作,所以命令式更加符合直觉 =.=;这也是我开发这个库的初衷.

Released under the MIT License.