将反应树转换为HAST

时间:2019-07-07 06:42:55

标签: javascript node.js reactjs

React以

的形式返回DOM结构。
$$typeof: Symbol(react.element)
key: null
props: {className: "col", children: Array(2)}
ref: null
type: "div"

每个children与上面的类型相同。

它的HAST表示形式就是

{
  type: 'element',
  tagName: 'div',
  properties: {
    className: ['col']
  },
  children: Array(2)
}

那么如何将React表单转换为HAST表单?

我尝试遍历树,但在如何正确进行HAST方面陷入困境

function treeTraverse(node){
    if (!node.props) return false;
    var children =  React.Children.toArray(node.props.children);
    children.forEach(function(e,i){
        console.log(e);
        treeTraverse(e);
    })
}

这是repl.it演示。

0 个答案:

没有答案