html5 – 如何在React中使用JSX呈现字符串

前端之家收集整理的这篇文章主要介绍了html5 – 如何在React中使用JSX呈现字符串前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我需要在React类中呈现HTML(JSX)字符串.我不知道这是否可能.
dangerouslySetInnerHTML对我无效,因为我在此文件中有不同的反应组件.这不是简单的HTML.

我有一个预期结果的例子:
https://jsfiddle.net/86rg50re/1/

var MyComponent = React.createClass({
    propTypes: {
        owner: React.PropTypes.string
    },render: function() {
        return <div>Congrats {this.props.owner}! you have rendered MyComponent ({this.props.children})</div>;
    }
});

var Hello = React.createClass({
    render: function() {
        return <div>Header <MyComponent owner={"Daniel"}>Yayyyyyy!</MyComponent></div>;
    }
});

但我拥有的是:

var Hello = React.createClass({
    render: function() {
        var content = '<div>Header <MyComponent owner={"Daniel"}>Yayyyyyy!</MyComponent></div>';
        return transformStringToJSX(content);
    }

显然transformStringToJSX不存在.

有没有办法渲染jsx字符串?

解决方法

你可以用babel来改造它
npm install --save babel-core

然后在你的代码

var babel = require('babel-core');
var Component = eval(babel.transform('<div><MyComponent /></div>').code);

请注意,将字符串转换为可执行代码通常为bad idea.

猜你在找的HTML5相关文章