JavaScript: Cookie và con chuột

Ảnh của Sandy Millar trên Bapt

Thuật ngữ HTTP cookie được đặt ra từ các cookie may mắn. Bánh quy may mắn đã có từ thế kỷ 19 ở Kyoto Nhật Bản. Bên trong các cookie này được nhúng các thông báo đặc biệt. Lou Montulli, một nhà phát triển web đã sử dụng ý tưởng này cũng như phương pháp được các hệ thống Unix sử dụng để gửi tệp dữ liệu nhỏ từ chương trình này sang chương trình khác mà không thay đổi để phát minh ra cookie HTTP.

Trong hướng dẫn này, chúng ta sẽ khám phá cookie HTTP bằng JavaScript và cách tôi chạy trò chơi bắt chuột, cố gắng thiết lập và truy xuất cookie.

Báo cáo vấn đề

Tôi có yêu cầu nhận với chức năng gọi lại có chứa tệp accessToken. Tiếp theo, tôi muốn truy xuất thông tin người dùng bằng cách sử dụng thông tin accessTokenđã tạo, việc này sẽ được thực hiện với yêu cầu tìm nạp.

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();

Giải pháp bánh quy vani

Giải pháp đầu tiên tôi nghĩ đến là lưu trữ giá trị dưới dạng cookie. Bằng cách này, chúng tôi chỉ cần truy xuất giá trị cookie bất cứ khi nào chúng tôi cần.

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

let userinfo = document.cookie

Điều này đã trở thành một vấn đề lớn vì tôi cần truy xuất cookie đã đăng ký từ một trang khác. Chức năng tải lại cửa sổ có thể đã sửa lỗi này nếu tôi đang xây dựng bằng vanilla JavaScript.

window.location.reload()

Giải pháp Cookie phản ứng

Trong quá trình tìm kiếm giải pháp, tôi đã tìm thấy thư viện cookie R eact hoàn hảo . Làm theo hướng dẫn, tôi đã đến đây:


(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>
  );
}

Trạng thái phản ứng để giải cứu

Việc triển khai luồng thiết kế liên quan đến việc truy xuất thông tin người dùng, lưu trữ chúng và điều hướng đến một trang mới với thông tin đã lưu. Với React useNavigate, chúng tôi có thể lưu trữ thông tin người dùng ở trạng thái trong khi điều hướng.

.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;
}

Tôi đã kết thúc thành công màn rượt đuổi mèo vờn chuột bằng trạng thái React. Trong bài viết này, chúng ta đã khám phá cách truyền thông tin qua các thành phần React. Đầu tiên, chúng tôi đã khám phá cookie vanilla JavaScript. Tiếp theo, chúng tôi đã sử dụng thư viện cookie React và cuối cùng là trạng thái React.

Suggested posts

Tránh những hậu quả tàn khốc của đột quỵ: Học hỏi từ hành trình của một gia đình.

Tránh những hậu quả tàn khốc của đột quỵ: Học hỏi từ hành trình của một gia đình.

Giới thiệu Đột quỵ là một trường hợp cấp cứu y tế có thể tấn công bất kỳ ai vào bất kỳ lúc nào. Nó xảy ra khi lưu lượng máu đến một phần của não bị gián đoạn, dẫn đến mất chức năng não đột ngột.

Tài nguyên mã hóa được sử dụng nhiều nhất của tôi

Tài nguyên mã hóa được sử dụng nhiều nhất của tôi

Tuần này, tôi nhận được một email từ một thành viên trong danh sách email hàng ngày. Họ muốn biết: Bạn truy cập tài nguyên nào hàng ngày, hàng tuần và hàng tháng? Câu hỏi tuyệt vời! Tôi rất vui khi cố gắng chia sẻ một số thông tin chi tiết về quy trình làm việc của mình và các tài nguyên hàng đầu mà tôi sử dụng.

Related posts

Bạn có thể làm gì trong thời gian chờ đợi (chờ nhận công việc đầu tiên của bạn trong lĩnh vực công nghệ)

Bạn có thể làm gì trong thời gian chờ đợi (chờ nhận công việc đầu tiên của bạn trong lĩnh vực công nghệ)

Chuyển sang một nghề nghiệp mới có thể cực kỳ khó khăn nếu bạn cố gắng làm điều đó một mình. Điều quan trọng là phải tìm được những đối tác có trách nhiệm, những người có cùng trình độ học vấn với bạn, những người có chung mục tiêu, sự kiên trì và động lực.

Thu thập OSINT để săn lùng mối đe dọa

Thu thập OSINT để săn lùng mối đe dọa

Xin chào, những người đam mê mạng! Chào mừng bạn quay trở lại OSINT cho loạt bài săn tìm mối đe dọa. Trong bài viết đầu tiên, tôi đã cung cấp cho bạn cái nhìn tổng quan về OSINT và tầm quan trọng của nó trong việc tìm kiếm mối đe dọa.

Không còn mật khẩu — mật khẩu sẽ thay thế mật khẩu của bạn như thế nào

Không còn mật khẩu — mật khẩu sẽ thay thế mật khẩu của bạn như thế nào

Để tránh sự mơ hồ, các thuật ngữ sau đây sẽ được sử dụng; Trình xác thực; Điện thoại di động được sử dụng để đăng nhập Website; Trang web hoặc ứng dụng mà người dùng đang sử dụng để thực hiện yêu cầu đăng nhập Dịch vụ; Nhà cung cấp cung cấp dịch vụ nhất định, ví dụ:

Thử thách đọc Goodreads là độc hại

Thử thách đọc Goodreads là độc hại

Tay tôi ngứa ngáy lan rộng khi tôi mặc cả với người bán sách địa phương để mua một cuốn sách khác. Cuốn sách này giống như những cuốn còn lại mà tôi đã mua gần đây sẽ lên ngôi trong đống 'Cần đọc' (TBR) của tôi; tuy nhiên, tôi đã mua nó.