次のフェッチAPIを使用して、APIの結果を取得しています。結果データを状態に設定する必要がありますが、コールバック関数内で「this」オブジェクトを使用できません。
this
にアクセスしてコードを更新し、状態の値を設定するにはどうすればよいですかキーワード?
fetch(config.apiUrl + '/api/user', {
headers: authHeader(),
method: 'GET',
})
.then(function(res) {
return res.json();
})
.then(function(data) {
this.setState({ id: data.id });
});
回答 2 件
矢印機能を使用できます
fetch(config.apiUrl + '/api/user', { headers: authHeader(), method: 'GET', }) .then(res => { return res.json(); }) .then(data => { this.setState({ id: data.id }); });
または、
this
を割り当てることができます 変数へのキーワードとそのような使用var that = this;
fetch(config.apiUrl + '/api/user', { headers: authHeader(), method: 'GET', }) .then(function(res) { return res.json(); }) .then(function(data) { that.setState({ id: data.id }); });
関連した質問
- Uberはスクロール矢印付きのタイプHorizontalScrollSpyを食べます
- コンポーネントがレンダリングされる前に一度だけフックを呼び出す(Meteor/React/Apollo/Graphql)
- カスタムデータベースのクエリ(Mongodb)
- React-Redux:インポート試行エラー: '/ components/Score'にデフォルトのエクスポートが含まれていません( 'Score'としてインポートされました)
- divターゲットにアクセスして、reactでリストグループアイテムのスタイルを切り替える方法は?
- React Nativeエラー失敗したプロップタイプ:タイプ `array`の無効なプロップ` children`が `Overlay`に提供されました。
- svg要素の幅と高さを制御する方法
- 別のページにあるボタンの値を呼び出すにはどうすればよいですか?
- jsonから特定のコンテンツをレンダリングする
- JavaScriptを使用したスライドショーを使用したReactJSの画像モーダル
this
を割り当てる まだ利用可能なコールバック外にある変数へのキーワード。しばしばvar self = this;
使用されている。必要なコールバックで「self」を使用します。