2017-09-04 69 views
0

我试图包括反应Facebook登录和我完全按照描述在脸书的文档(https://github.com/keppelen/react-facebook-login),但不断收到奇怪的错误。我新的反应,并一直在看我的代码,因为这么长时间,但只是不知道我做了什么错误,因为我在做他们的文档中描述的完全一样。任何帮助将如此赞赏!!谢谢!React facebook登录根本不起作用 - 我错过了什么?

错误:

  import React from 'react'; 
      import ReactDOM from 'react-dom'; 
      import FacebookLogin from 'react-facebook-login'; 

      class Login extends React.Component{    
       constructor (props, context) { 
       super(props, context); 
       } 

      const responseFacebook = (response) => { 
       console.log(response); 
      } 

       render() { 
       return (
        <div> 
        <FacebookLogin 
        appId="1112xxx" 
        autoLoad={true} 
        fields="name,email,picture" 
        onClick={componentClicked} 
        callback={this.responseFacebook} /> 
        </div> 
       ); 
       } 

      } 

      export default Login; 

改变responseFacebook功能:用于常量responseFacebook意外的标记

constructor (props, context) { 
     super(props, context); 
     this.responseFacebook=responseFacebook.this.bind(this); 
     } 
    responseFacebook (response){ 
     console.log(response); 
    } 

给了我这个错误:responseFacebook没有定义

更新(有还是没有工作代码):

 import React from 'react'; 
     import ReactDOM from 'react-dom'; 
     import FacebookLogin from 'react-facebook-login'; 

     class Login extends React.Component{ 

        constructor (props, context) { 
        super(props, context); 
        this.responseFacebook=responseFacebook.this.bind(this); 
        } 


       responseFacebook = (response) => { 
        console.log(response); 
       } 

      render() { 
      return (
       <div> 
       <FacebookLogin 
      appId="1112954322170315" 
      autoLoad={true} 
      fields="name,email,picture" 
      onClick={componentClicked} 
      callback={this.responseFacebook} /> 

       </div> 
      ); 
      } 

     } 

     export default Login; 

回答

0

更改此;

const responseFacebook = (response) => { 
    console.log(response); 
} 

对此;

responseFacebook = (response) => { 
    console.log(response); 
} 

,或者你做这个

responseFacebook(response) { 
    console.log(response); 
} 

render() { 
    return (
     <div> 
      <FacebookLogin 
       appId="1112xxx" 
       autoLoad={true} 
       fields="name,email,picture" 
       onClick={componentClicked} 
       callback={this.responseFacebook.bind(this)} 
      /> 
     </div> 
     ); 
    } 
} 
+0

谢谢您的回答。我尝试过,但第一个,我仍然得到'意想不到的令牌'(现在它告诉我的'='符号是意想不到的令牌responseFacebook =),对于第二个解决方案我仍然得到responseFacebook没有定义。 – javascripting

+0

你能请用您的代码的最新版本更新您的答案 – bennygenel

+0

我更新了它。我也试图这样写:\t响应Facebook(响应){console.log(响应);}这不会给我一个错误在这一点上,但后来我得到的错误:'响应Facebook没有定义' – javascripting

相关问题