ReactJS JSX toString()

我正在写一个基于React的文档网站。我想显示使用框架中给定组件所必需的代码。同时,我想显示实际组件的运行情况,如并排视图。

当前,我正在为参考实现将组件作为字符串添加,对于正在运行的场景,将组件作为JSX添加。像这样:

var ButtonDoc = React.createClass({

render: function () {

let buttonComponent = (

<Button label="Add" />

);

let buttonCode = `<Button label="Add" />`;

return (

<div>

{buttonComponent}

<pre><code>{buttonCode}</code></pre>

</div>

);

}

});

有没有一种方法可以获取给定React组件的字符串表示形式而无需复制代码?

我期待这样的事情:

var ButtonDoc = React.createClass({

render: function () {

let buttonComponent = (

<Button label="Add" />

);

let buttonCode = `${buttonComponent}`;

return (

<div>

{buttonComponent}

<pre><code>{buttonCode}</code></pre>

</div>

);

}

});

给定代码的输出为object [object]

回答:

由于找不到任何可以解决问题的方法,因此我最终创建了一个npm存储库来完成此任务。

https://github.com/alansouzati/jsx-to-

string

import React from 'react';

import jsxToString from 'jsx-to-string';

let Basic = React.createClass({

render() {

return (

<div />

);

}

}); //this is your react component

console.log(jsxToString(<Basic test1="test" />)); //outputs: <Basic test1="test" />

以上是 ReactJS JSX toString() 的全部内容, 来源链接: utcz.com/qa/397777.html

回到顶部