Tìm kiếm trang web

javascript - NextJS SSR Động: False bị kẹt ở trạng thái tải trên Thiết bị Di động


Vấn đề:

Việc import động của Next JS bị kẹt ở trạng thái đang tải trên trình duyệt thiết bị di động (trình duyệt sử dụng: Google Chrome và Safari trên iOS). Trong khi đó, nó hoạt động hoàn hảo trên Google Chrome và Mozilla trên máy tính để bàn. Tôi cũng đang sử dụng next-PWA với cấu hình mặc định. Liệu có thể nguyên nhân là do next-PWA không?

Đoạn Mã:

import dynamic from "next/dynamic";
import { useMemo } from "react";

export default function Main() {

const Component = useMemo(
    () =>
      dynamic(() => import("@components/Component"), {
        loading: () => <p>The component is loading</p>,
        ssr: false,
      }),
    [],
  );

  return(<div><Component/></div>);
}

Xuất trên Thiết bị Di động

The component is loading

Hiển thị trên Trình duyệt Máy tính để bàn

Hello from Component

Câu trả lời #1

Lỗi không phải do Next Dynamic mà là do trang HTTP không lấy được tài nguyên navigator trên các trình duyệt di động.

Chỉnh sửa: Trên các thiết bị di động, nó yêu cầu HTTPS thay vì HTTP. Do đó, khi tôi chạy trong mạng cục bộ, nó sử dụng HTTP, để bật HTTPS trong mạng cục bộ của bạn, bạn có thể xem: https://web.dev/articles/how-to-use-local-https