Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs 如何将字符串转换为JSX以在React中使用_Reactjs_Components_Type Conversion_Jsx - Fatal编程技术网

Reactjs 如何将字符串转换为JSX以在React中使用

Reactjs 如何将字符串转换为JSX以在React中使用,reactjs,components,type-conversion,jsx,Reactjs,Components,Type Conversion,Jsx,我有一些JSX格式的字符串保存到数据库中。现在我想再次将它们转换为JSX。例如: let a = "<TestComponent />"; // String is loaded from database ReactDOM.render( a, document.getElementById('root') ); 让a=”“;//字符串是从数据库加载的 ReactDOM.render( A. document.getElementById('root')) );

我有一些JSX格式的字符串保存到数据库中。现在我想再次将它们转换为JSX。例如:

let a = "<TestComponent />"; // String is loaded from database
ReactDOM.render(
    a,
    document.getElementById('root')
);
让a=”“;//字符串是从数据库加载的
ReactDOM.render(
A.
document.getElementById('root'))
);

这怎么可能呢?

您可以像这样使用危险的LysetinerHTML:

let a = "<TestComponent />"; // String is loaded from database
function createMarkup() {
  return {__html: a};
}

function MyComponent() {
  return <div dangerouslySetInnerHTML={createMarkup()} />;
}

ReactDOM.render(
  a,
  document.getElementById('root')
);
让a=”“;//字符串是从数据库加载的
函数createMarkup(){
返回{uuuhtml:a};
}
函数MyComponent(){
返回;
}
ReactDOM.render(
A.
document.getElementById('root'))
);

该帖子可能重复的问题是“如何获取字符串并将其呈现为内容?”而该帖子询问的是“如何获取字符串并将其呈现为组件本身?”而不是重复的内容(不管怎样)。谷歌搜索了“react parse jsx”,没有任何用处。这种方法行不通。相反,它给出了以下内容: