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>" } />