2017-09-08 2 views
0

Je souhaite utiliser le moteur de recherche personnalisé google dans mon application React. Mais j'ai un problème pour l'appliquer.Moteur de recherche personnalisé Google - en utilisant ReactJS

J'ai vérifié sur le site Google que le code est

<script> 
    (function() { 
    var cx = '008391824253360889328:j5posmpyok0'; 
    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> 

Mais je ne sais pas comment changer dans jsx qui peut utiliser dans React.

Quelqu'un peut-il aider? Merci.

Répondre

0

Vous n'avez rien à changer. Vous pouvez l'exécuter directement.

Exemple:

conponentDidMount() { 
    (function() { 
    var cx = '008391824253360889328:j5posmpyok0'; 
    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); 
    })(); 
} 

Mais en fait, si vous vérifiez le code que vous avez obtenu de Google; Il suffit d'ajouter une balise de script. Vous pouvez simplement l'ajouter manuellement.

<script async="true" src="https://cse.google.com/cse.js?cx=008391824253360889328:j5posmpyok0" type="text/javascript"></script> 
+0

Merci. En outre, comment ajouter une telle fonction dans la fonction render() dans JSX. Parce que "" sont en XML et ne peuvent pas être utilisés en jsx. –

+0

@VictorDiao Vous avez 2 options je pense. On est décrit [ici] (https://stackoverflow.com/a/44012269/2315280) en disant que vous pouvez utiliser [dangerouslySetInnerHTML] (https://facebook.github.io/react/docs/dom-elements.html# dangerouslysetinnerhtml) mais c'est dangereux. Le second est [ici] (https://developers.google.com/custom-search/docs/element#html5), vous pouvez utiliser les balises div Html5 pour la recherche. – bennygenel