esxjs / to-esx

Converts JSX and `React.createElement` into ESX

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

esx.renderToString._r is not a function

irudoy opened this issue · comments

Input

import React from 'react';
import ReactDOMServer from 'react-dom/server';

function foo() {
  const A = () => <div/>;
  ReactDOMServer.renderToString(<A/>);
};

Output

const esx = require('esx')();
import React from 'react';
import ReactDOMServer from 'react-dom/server';

function foo() {
  const A = () => esx `<div/>`;
  esx.renderToString._r("A", A) `<A/>`;
};
test('React.renderToString inside a function', async ({ is }) => {
  const src =
`import React from 'react';
import ReactDOMServer from 'react-dom/server';
function foo() {
  const A = () => <div/>;
  ReactDOMServer.renderToString(<A/>);
};`
  const esx =
`const esx = require('esx')();
import React from 'react';
import ReactDOMServer from 'react-dom/server';
function foo() {
  const A = () => esx \`<div/>\`;
  esx.renderToString("A", A) \`<A/>\`;
};`
  is(convert(src), esx)
})