0

我做了一个函数,它接受一个字符串并替换其中的特定子字符串:

let mark = (str: string, sub: string) : string => {
    let re = Js.Re.fromString("(" ++ sub ++ ")");
    Js.String.replaceByRe(re, "<mark>$1</mark>", str);
};

它按预期工作。问题是,当使用ReasonReact.stringToElement它时,可能出于安全原因,它会转义字符串。但是,我确实需要一种方法来不安全地转换元素中的字符串,因此其中的<mark>标记成为有效的 HTML。我怎样才能做到这一点?

4

1 回答 1

3

利用dangerouslytSetInnerHTML

它在语法上几乎完全翻译为 ReasonReact:

<div dangerouslySetInnerHTML={ "__html": "<mark>whatever</mark>" } />
于 2018-03-30T17:52:47.330 回答