ReasonReact небезопасная строка для элемента

Я сделал функцию, которая принимает строку и заменяет в ней определенную подстроку:

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. Как я могу это сделать?

1 ответ

Решение

Использование dangerouslytSetInnerHTML

Это почти точно синтаксически переводит в ReasonReact:

<div dangerouslySetInnerHTML={ "__html": "<mark>whatever</mark>" } />
Другие вопросы по тегам