Плагин Babel: Как вставить одноуровневый узел - PullRequest
1 голос
/ 13 марта 2019

Кажется, что path.insertAfter (), path.insertBefore (), path.unshiftContainer () и path.pushContainer () работают только с утверждениями. Как вы вставляете узлы, которые не являются утверждениями?

В моем случае я пишу плагин babel jsx и пытаюсь вставить узел-брат, который является JSXExpressionContainer. Когда я делаю это, я получаю следующую ошибку:

TypeError: Property body[0] of BlockStatement expected node to be of a type ["Statement"] but instead got "JSXExpressionContainer"

Как мне это исправить?

1 Ответ

1 голос
/ 11 мая 2019

Я нашел обходной путь, просто нажав код в виде открытого текста.Реакт, кажется, работает просто отлично.

path.node.children.push('<div>Click me</div>')
...