2017-08-25 1 views
0

-react 3を期待コードです:上記のコードRNCookieManagerAndroid.getは、4つの引数を持ってここにネイティブ

componentDidMount() { 
    // Get cookies as a request header string 
    CookieManager.get("http://10.42.0.1:8000/login", (err, res) => { 

     // Outputs 'user_session=abcdefg; path=/;' 
     fetch("http://10.42.0.1:8000/login", { 
     method: "POST", 
     headers: { 
      'Accept': 'application/json', 
      'Content-Type': 'application/json', 
      'X-CSRFToken': res.csrftoken, 
     }, 
     body: JSON.stringify({ 
      username: 'user', 
      password: 'securepassword', 
     }) 
     }) 
     .then((response) => response.json()) 
     .then((responseJson) => { 
     console.log(responseJson); 
     }) 
    }); 
    } 

は、エミュレータ上でエラーを示します!!! Androidのエミュレータの

スクリーンショットは---

enter image description here

はここ
yarn add react-native-cookies 

だけでなく、他の指示をインストールしました。また、app.jsファイルにインポート

import CookieManager from 'react-native-cookies'; 

すべてが はありがとうございました..まだ.. 任意の提案を歓迎している、このエラーを示す正しいと思わ!!!

答えて

1

モジュール反応し、ネイティブのクッキーをそれに約束を実装し、それはあなたが間違ってやっている唯一のことは、あなたがあなたのCookiemanager.getコールの応答を処理する方法があるので、約束の対象として応答を与えます。以下のようにコードを変更して、あなたはこれは、あなたが間違ってやっていることです:)

componentDidMount() { 
// Get cookies as a request header string 
CookieManager.get("http://10.42.0.1:8000/login") 
    .then((res) => { 

    // Outputs 'user_session=abcdefg; path=/;' 
    fetch("http://10.42.0.1:8000/login", { 
    method: "POST", 
    headers: { 
     'Accept': 'application/json', 
     'Content-Type': 'application/json', 
     'X-CSRFToken': res.csrftoken, 
    }, 
    body: JSON.stringify({ 
     username: 'user', 
     password: 'securepassword', 
    }) 
    }) 
    .then((response) => response.json()) 
    .then((responseJson) => { 
    console.log(responseJson); 
    }) 

    }).catch((err) => { 
     //handle your error here 
    }) 
} 

行ってもいいです 。あなたが必要とするものが他にもあれば教えてください。

+0

ありがとう、私は2日後に立ち往生しましたが、今はエラーが表示されず、フェッチメソッドが正しく動作していますが、そのCookieManager.get( "http://10.42.0.1:8000/login") 'サーバー上で何の応答も与えていないということは、フェッチだけが 'username'と' password'を使ってサーバーにヒットしているということです。私が 'CookieManager.get'を持って来たいと思っているCSRFTokenは、どうしたらいいのですか? –

+0

djangoサーバの結果を見たいですか? –

+0

djangoサーバーについての考えはありません。私はあなたがこれについて別の質問を追加する必要があると思う。上記の質問に対するあなたの問題は解決されました:) –

関連する問題