Я думаю, что у меня есть решение для вас, не используя riskouslySetInnerHTML. Поместите свой код в блок componentDidMount и добавьте элемент с jQuery следующим образом:
componentDidMount(){
const embedcode = `<script>
(function() {
var cx = '013626029654558379071:ze3tw4csia4';
var gcse = document.createElement('script');
gcse.type = 'text/javascript';
gcse.async = true;
gcse.src = 'https://cse.google.com/cse.js?cx=' + cx;
var s = document.getElementsByTagName('script')[0];
s.parentNode.insertBefore(gcse, s);
})();
</script>
<gcse:search></gcse:search>`
$('#gsearch').html(embedcode)
}
И ваш элемент DOM:
<div id='gsearch'>
</div>
Все еще отлаживаю некоторые стилистические вещи, но это работает!
Лучший, Патрик