文档手册

Top Level API

2024-07-18 14:42:02

Reactor, Top-Level API

Creating Reactor Elements

JSX()

JSX(type,[props],[...children]): VNode

 构造虚拟节点。

这两个表达式是等效的:

 const vn = <div id="foo">bar</div>;

 

 const vn = JSX("div", {id="foo"}, ["bar"]);

Reactor.cloneOf()

Reactor.cloneOf(velement,[props],[...children]): VNode

使用 velement 作为原型克隆并返回新的 Reactor 虚拟元素。

道具和儿童是可选的。

如果定义了 props,则生成的元素将具有原始元素的 props,而新 props 将浅层合并。新的孩子将取代现有的孩子。原始元素中的关键道具将被保留。

如果定义了子数组,它将替换原始元素的子元素。

Inspection of virtual DOM

Reactor.isNode()

Reactor.isNode(object): boolean

如果对象是 JSX 文本或由任一 JSX 函数 Reactor.cloneOf 构造的,则返回 true

Reactor.tagOf()

Reactor.tagOf(vnode)

返回虚拟节点的标记。

 Reactor.tagOf(<div/>) == "div"; // true

Reactor.propsOf()

Reactor.propsOf(vnode) : Object

将虚拟节点的属性(属性)作为对象返回。

 Reactor.propsOf(<div id="foo" />).id == "foo"; // true

Reactor.kidsOf()

Reactor.kidsOf(vnode) : Array

以数组形式返回虚拟节点的子集合。

 Reactor.kidsOf(<div>bar</div>)[0] == "bar"; // true