JavaScript: Cookie とマウス

UnsplashのSandy Millarによる写真

HTTP Cookie という用語は、フォーチュン Cookie から生まれた造語です。フォーチュン クッキーは、京都の 19 世紀にまでさかのぼります。これらの Cookie の内部には、特別なメッセージが埋め込まれています。Web 開発者のLou Montulliは、このアイデアと、Unix システムで使用されている方法を使用して、小さなデータ ファイルをあるプログラムから別のプログラムに変更せずに送信し、HTTP Cookie を発明しました。

このチュートリアルでは、JavaScript を使用した HTTP Cookie と、Cookie の設定と取得を試みるマウス ゲームをどのように実行したかについて説明します。

問題文

を含むコールバック関数を使用した get リクエストがありますaccessToken。accessToken次に、生成された を使用してユーザー情報を取得したいと思います。これはフェッチ リクエストで行われます。

callback: (response) => {
      // run fetch request to get user info
      let value = fetch(url + response.access_token, {
        method: 'GET',
        headers: {
          'Accept': 'application/json',
        },
      })
        .then(value => value.json())
        .then(text => console.log(text))
    }

.then(text => return text)

function callme() {
  callback: (response) => {
      ...
    }
}

let userinfo = callme();

ソリューション バニラ クッキー

私の頭に浮かんだ最初の解決策は、値を Cookie として保存することです。このようにして、必要なときにいつでも Cookie の値を取得するだけで済みます。

.then(text => document.cookie = "userinfo=" + JSON.stringify({ username: text.name, userimg: text.picture }))

let userinfo = document.cookie

登録された Cookie を別のページから取得する必要があるため、これが大きな問題になりました。バニラの JavaScript でビルドしていた場合、ウィンドウのリロード機能でこれを修正できたはずです。

window.location.reload()

ソリューション反応クッキー

解決策を探す中で、完璧なReact cookie ライブラリを見つけました。指示に従って、私はこれにたどり着きました:


(Pageone.jsx)

import React from "react";
import { useCookies } from "react-cookie";

export default function Pageone() {
  const [setCookie] = useCookies(["user"]);

  function myCookie() {
    setCookie("user", "blah", {
      path: "/"
    });
  }
  return (
    <button onClick={myCookie()}>Set Cookie</button>
  );
}
(Pagetwo.jsx)

import React from "react";
import { useCookies } from "react-cookie";

export default function Pagetwo() {
  const [cookies] = useCookies(["user"]);

  return (
    <div className="Pagetwo">
      <h1>React cookies</h1>
       {cookies.user && <p>{cookies.user}</p>}
      <button onClick={myCookie()}>Set Cookie</button>
    </div>
  );
}

レスキューに反応する状態

デザイン フローの実装には、ユーザー情報の取得、保存、および保存された情報を含む新しいページへの移動が含まれます。を使用React useNavigateすると、ナビゲート中にユーザー情報を状態に保存できます。

.then(text => navigate('/', { state:{username:text.name, userimg:text.picture}}))

import { useLocation } from 'react-router-dom';

const Sidebar = () => {
  const location = useLocation();
  // retrieve userimg
  let userimg = location.state.userimg;
  // retrieve username
  let username = location.state.username;
}

React ステートを使用して、いたちごっこの追跡を正常に終了させました。この記事では、React コンポーネント間で情報を渡す方法を調べました。最初に、標準の JavaScript Cookie を調査しました。次に、React Cookie ライブラリを使用し、最後に React 状態を使用しました。

提案された投稿

脳卒中の壊滅的な結果を避ける: 家族の旅から学ぶ 。

脳卒中の壊滅的な結果を避ける: 家族の旅から学ぶ 。

はじめに 脳卒中は、いつでも誰でも起こり得る医療上の緊急事態です。これは、脳の一部への血流が中断され、脳機能が突然失われることで発生します。

私が最もよく使用するコーディング リソース

私が最もよく使用するコーディング リソース

今週、毎日のメールリストのメンバーからメールを受け取りました。彼らは次のことを知りたかったのです。毎日、毎週、毎月どのリソースにアクセスしていますか? 素晴らしい質問です!私のワークフローと使用している主なリソースについての洞察を共有したいと思います。

関連記事

その脅威アーカイブ: Vol 7 ブラックバスタ

その脅威アーカイブ: Vol 7 ブラックバスタ

今日の相互接続された世界では、サイバー攻撃の脅威がかつてないほど蔓延しています。サイバー犯罪者や国家主体は常に脆弱性を悪用して貴重なデータを盗もうとしており、あらゆる規模の組織に重大なリスクをもたらしています。

地球を救ってお金を稼ぐ方法

地球を救ってお金を稼ぐ方法

ペットボトル、ガラス瓶、アルミ缶、グリーンエネルギーパッケージなどを、何回考えずに捨てたことがあるでしょうか? リサイクルする代わりに何かが得られたらいいのにと何度思ったことか。あなたがほとんどの人と同じなら、おそらく答えは何度もあるはずです。リサイクルは、多くの場合、即時的または具体的な利益をもたらさない面倒な作業、面倒な作業、または義務であると考えられています。

パスワードはもう不要 — パスキーがパスワードをどのように置き換えるか

パスワードはもう不要 — パスキーがパスワードをどのように置き換えるか

曖昧さを避けるために、次の用語が使用されます。認証者; ログイン Web サイトの作成に使用されている携帯電話。ユーザーがログイン要求サービスを行うために使用している Web サイトまたはアプリケーション。特定のサービスを提供するベンダー。例:

アートは政治的ではないのでしょうか?

アートは政治的ではないのでしょうか?

昨日、私たちは今年のユーロビジョン・ソング・コンテストの幕を閉じました。きらびやかでカオスなグランドフィナーレでスウェーデンの歌手ローリーンがトロフィーを持ち帰り、女性として初めて2回優勝し、ABBAがコンテストで優勝してから50年目にその栄冠をスウェーデンに持ち帰りました。 「ワーテルロー」で。彼らはポップ ミュージックの規範において最大のアーティストの 1 つになりました。