2016-01-17 3 views
3

Библиотека API Google API возвращает обратный вызов при успешной загрузке.Доступ к обратному вызову в реакторе

<script src="https://apis.google.com/js/client.js?onload=callback"></script> 

Может кто-нибудь объяснить, как интегрировать этот обратный вызов в приложение React с визуализацией на стороне сервера? В ванили Js это будет что-то вроде этого:

function callback() { 
    gapi.auth.authorize({...}); 
} 

ответ

3

Это зависит от того, что именно вы делаете. Предположим, вы хотите ввести изменение состояния в этот обратный вызов. Вы можете поместить следующее в свой компонент React:

componentWillMount() { 
    if (typeof window === 'undefined') { 
     return; // client side only 
    } 
    window.callback =() => { 
     this.setState({ 
      isAuthorized: true 
     }); 
    }; 
} 

Просто убедитесь, что этот обратный вызов определен до вызова удаленного ресурса. т. е. поместите свои сценарии React перед скриптом Google.

+0

Хмм ... даже если функция рендеринга возвращает false, я должен включить объявление компонента в код html, правильно? Можно ли добиться того же, не делая этого? –

+0

Боюсь, я не понимаю, о чем вы спрашиваете. Возможно, вам хотелось бы подробно рассказать о том, чего вы пытаетесь достичь. –

+1

Я написал компонент, вот мой код: https://jsfiddle.net/t9d2d2gp/ Теперь я могу использовать его так: import api из 'comp'. Вопрос в том, как использовать его без добавления html-тегов.

Смежные вопросы