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