Безопасно ли использовать dangerousSetInnerHTML в данном случае?
Реализую саджест по типу саджеста Яндекса. Мне необходимо подсвечивать совпадения результатов в саджесте исходя из значения инпута. В общем по сути как в поисковой строке Яндекса.
Подстветка у Яндекса идет за счет тегов <b>. Наш поиск на бэке - эластик, и бэк может мне прислать данные в таком же виде с <b>, но вставить их как HTML я смогу только через dangerouslySetInnerHTML
Прочитал разную инфу на этот счет, но не пойму, какая конкретно опасность в моем случае, ведь данные для отрисовки я получаю с бэка, а не с пользовательского ввода?
И если данная реализация не лучший вариант, то как тогда сделать лучше? Регулярками?
Если вы уверены, что вам будет приходить только текст с тегами <b>, то никакой опасности нет.
Свойство имеет в названии слово dangerously, для того чтобы программисты помнили, что это потенциально опасное действие, а не потому, что любое его использование опасно и не желательно.