質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Next.js

Next.jsは、Reactを用いたサーバサイドレンダリングなどを行う軽量なフレームワークです。Zeit社が開発しており、nextコマンドでプロジェクトを作成することにより、開発環境整備が整った環境が即時に作成できます。

TypeScript

TypeScriptは、マイクロソフトによって開発された フリーでオープンソースのプログラミング言語です。 TypeScriptは、JavaScriptの構文の拡張であるので、既存の JavaScriptのコードにわずかな修正を加えれば動作します。

React.js

Reactは、アプリケーションのインターフェースを構築するためのオープンソースJavaScriptライブラリです。

Q&A

解決済

1回答

2371閲覧

データ通信 セグメントのエラー

退会済みユーザー

退会済みユーザー

総合スコア0

Next.js

Next.jsは、Reactを用いたサーバサイドレンダリングなどを行う軽量なフレームワークです。Zeit社が開発しており、nextコマンドでプロジェクトを作成することにより、開発環境整備が整った環境が即時に作成できます。

TypeScript

TypeScriptは、マイクロソフトによって開発された フリーでオープンソースのプログラミング言語です。 TypeScriptは、JavaScriptの構文の拡張であるので、既存の JavaScriptのコードにわずかな修正を加えれば動作します。

React.js

Reactは、アプリケーションのインターフェースを構築するためのオープンソースJavaScriptライブラリです。

0グッド

2クリップ

投稿2020/09/14 15:52

データを取得(get)の処理をaxiosを使っていたのですがswrに書き換えてgetの通信をしてみました。
そしたら401エラーになりNot enough or too many segments"というメッセージがコンソールに表示されました。
セグメントのエラーというのはどういうものなのでしょうか?
修正したいのですがセグメントエラーがどういうものなのかがわからず困っています。
わかる人いましたらご教授お願いしたいです。

開発環境はnext.js Typescriptを使っています。
以下のコードがaxiosからswrを使った処理に書き換えたコードです。

import useSWR from 'swr'; import { Axios } from './axios'; const token = *********************** const lang = 'jp'; export const useUserList = (id: number) => { const path = `/list/${id}`; const fetcher = (url, params) => { Axios.get(url, { params: { lang: params.lang }, headers: { Authorization: `Bearer${params.token}` }, }).then((res) => res.data); }; const { data, error } = useSWR( [path, { params: { token, lang } }], fetcher ); return { user: data, isLoading: !error, isError: error, }; };

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

maai

2020/09/16 13:06

> データを取得(get)の処理をaxiosを使っていたのですがswrに書き換えてgetの通信をしてみました。 ということはaxiosでは動いていたんですよね そのコードを貼ることはできますでしょうか
guest

回答1

0

ベストアンサー

401なのでaxiosswrは関係なく認証エラーだと思います。
対象となるAPIの仕様が不明なのであくまで推測ですが、Bearerの後にスペースを開けていないとかその辺りを見直すといいと思います。

javascript

1// NG 2// headers: { Authorization: `Bearer${params.token}` }, 3// OK 4headers: { Authorization: `Bearer ${params.token}` },

投稿2020/09/15 00:00

nekoniki

総合スコア2409

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2020/09/15 00:27

スペース開けてみましたが変わりませんでした
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問