2016-08-12 2 views
0

Я пытаюсь использовать login-google-login, найденный в npm site, но я столкнулся с некоторыми проблемами. ОшибкаИнвариантное нарушение: проблема использования для библиотеки npm

bundle.js:3104 Warning: React.createElement: type should not be null, undefined, boolean, or number. It should be a string (for DOM elements) or a ReactClass (for composite components). Check the render method ofLogin. 

и

bundle.js:3104 Warning: React.createElement: type should not be null, undefined, boolean, or number. It should be a string (for DOM elements) or a ReactClass (for composite components). Check the render method ofLogin 

Это может быть потому, что из-за проблемы использования. Возможно, я тоже неправильно импортировал. Любая помощь очень ценится.

var React = require('react') 
var GoogleLogin = require('react-google-login') 
var Login = React.createClass({ 
    responseGoogle(e){ 
     console.log("response",e) 
    }, 
    render:function(){ 
     return <div> 
      <GoogleLogin 
      clientId="xxxxxxxxxxx-yyyyyyyyyy.apps.googleusercontent.com" 
      buttonText="Login" 
      callback={this.responseGoogle} /> 
     </div> 
    }, 
}); 
module.exports = Login; 

~

Это наиболее вероятно, вызывая нежелательные функции или класса. Я использовал требование, и я не знаком с импортом. Любые предложения или заметки о правильном способе определения правильных синтаксисов в будущем также приветствуются.

ответ

1

Вы пробовали:

var GoogleLogin = require('react-google-login').default 
+1

Вы спасатель жизни! Это потрясающе. Спасибо –

1

Вам необходимо добавить строку для экспорта вашего компонента.

export default Login; 
+0

Извините, но это не сработало. Может работать, если я могу использовать импорт? –

+0

Он определенно будет работать с импортом, и он должен работать с этим .. проверьте эту ссылку после https://toddmotto.com/react-create-class-versus-component/ –

+0

Большое спасибо за ссылку! –

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