我在处理facebook的ReactJS时遇到了麻烦。每当我使用ajax并想要显示html数据时,ReactJS将其显示为文本。(见下图)
数据通过jquery Ajax的成功回调函数显示。
$.ajax({
url: url here,
dataType: "json",
success: function(data) {
this.setState({
action: data.action
})
}.bind(this)
});
有没有什么简单的方法把它转换成html?我应该如何使用ReactJS?
如果你提前知道你想呈现的字符串中有哪些标签;例如,如果在创建字符串时只允许某些标记;解决这个问题的一个可能的方法是使用Trans实用程序:
import { Trans } from 'react-i18next'
import React, { FunctionComponent } from "react";
export type MyComponentProps = {
htmlString: string
}
export const MyComponent: FunctionComponent<MyComponentProps> = ({
htmlString
}) => {
return (
<div>
<Trans
components={{
b: <b />,
p: <p />
}}
>
{htmlString}
</Trans>
</div>
)
}
然后你就可以一如既往地使用它了
<MyComponent
htmlString={'<p>Hello <b>World</b></p>'}
/>