如何在React中使用JSX呈现字符串
我需要在React类中呈现HTML(JSX)字符串。 我不知道这是否可行。 危险的SetInnerHTML对我来说是无效的,因为我在这个文件中有不同的反应组件。 这不是纯粹的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);
请注意,将字符串转换为可执行代码通常不是个好主意。
链接地址: http://www.djcxy.com/p/52093.html上一篇: How to render a string with JSX in React
下一篇: Selectively rendering optional component properties in React JSX