2017-09-04 70 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

相關問題