Một chủ đề có thể được xây dựng trong React?


8

Tìm kiếm trên Google và các trang lưu trữ theo truy vấn ReactTôi đã tìm thấy một vài câu hỏi thú vị:

và đọc các theme development documentationtrạng thái đó:

Tối thiểu, một Theme WordPress bao gồm hai tệp:

  • style.css
  • index.php

vì vậy, trong phần React nếu index.htmlđược thay thế bằng index.phpsyle.cssđược đặt ở cấp độ chính với tiêu đề biểu định kiểu. Sẽ có bất kỳ lý do tại sao mặt trước của trang web sẽ không hoạt động?

Ứng dụng React sẽ gọi API vì vậy tôi không thấy vấn đề gì sẽ xảy ra nếu tôi gọi http://foobar.com/wp-json/wp/v2/posts/. Tôi sẽ thêm một PNG cho chủ đề nhưng theo nghiên cứu tôi chưa tìm thấy giải pháp thay thế nào tốt hơn và tôi đang cố gắng ngăn chặn việc có một phiên bản WP trên tên miền phụ và trang web React trên tên miền chính. Sẽ có bất cứ điều gì gây ra vấn đề trong một chủ đề React-WordPress?


Câu trả lời:


7

Một chủ đề có thể được xây dựng trong React?

Bạn có thể sử dụng React trong một chủ đề sử dụng phản ứng

Sẽ có bất kỳ lý do tại sao mặt trước của trang web sẽ không hoạt động?

Bạn sẽ phải tính đến các URL khác nhau và tải dữ liệu trong ứng dụng phản ứng của mình, nhưng tại thời điểm đó, đó là sự cố React, không phải là vấn đề WP.

Ứng dụng React sẽ gọi API vì vậy tôi không thấy vấn đề gì sẽ xảy ra nếu tôi gọi http://foobar.com/wp-json/wp/v2/posts/

Không có vấn đề ở đây

Một mối quan tâm tôi có là bạn sẽ cần phải tự quản lý việc định tuyến khi bạn nhấp xung quanh ứng dụng và đảm bảo rằng khi bạn truy cập một trang nào đó không phải là trang chủ trong lần tải đầu tiên, thì nó sẽ tải đúng nội dung. Nhưng đó là sự cố React Router (giả sử đó là thư viện bạn sử dụng để định tuyến)

Ví dụ WP trên tên miền phụ và trang web React trên tên miền chính.

Điều này nghe có vẻ như là một cách tuyệt vời của những điều phức tạp không cần thiết. Chỉ cần có chủ đề phục vụ ứng dụng React. Tải tài nguyên từ trong một chủ đề là cùng một vấn đề nếu đó là React hoặc jQuery hoặc xương sống và trình duyệt tải chúng theo cùng một cách. Chỉ cần nói với JS của bạn nơi URL chủ đề.

Sẽ có bất cứ điều gì gây ra vấn đề trong một chủ đề React-WordPress?

Đây là một câu hỏi kết thúc cực kỳ mở và sẽ phụ thuộc vào những gì bạn đang cố gắng làm.

Thành thật mà nói có vẻ như bạn đang tìm kiếm sự trấn an. Hãy nhớ rằng, React là javascript. Bạn có thể sử dụng javascript trong các chủ đề và bạn có thể gọi API REST từ javascript trong một chủ đề. Không có vấn đề gì về khung UI đang cung cấp năng lượng cho mã đó, nếu đó là React, Vue, jQuery, vanilla JS, góc cạnh, tất cả đều là JS.

Nếu bạn muốn xử lý tải bài đăng và hiển thị chúng trong javascript của mình thì thật tuyệt, bạn có thể làm điều đó. Nếu bạn chọn React là phương tiện để làm điều đó thì điều đó tùy thuộc vào bạn.

Có một vài điều rõ ràng bạn sẽ cần phải làm:

Chỉ cần lưu ý rằng bạn sẽ muốn gọi wp_footerwp_headvì vậy, bạn sẽ cần một header.phpfooter.php, bạn cũng sẽ muốn một functions.phpđể bạn có thể mê hoặc JS và phong cách của bạn.

Không ai trong số đó là React cụ thể, mọi chủ đề nên làm điều đó. Bạn cũng có thể muốn chinh phục tập lệnh API WP để nó vượt qua url API REST. Một lần nữa, điều đó không đặc trưng cho ứng dụng React.

Nhưng quan trọng nhất, không có thứ gọi là chủ đề React. Có những chủ đề chỉ xảy ra để sử dụng React. Thật dễ dàng để nghĩ về nó như một cái gì đó khác biệt, nhưng thực sự chỉ là JS trong một chủ đề trông khá trống rỗng vào cuối ngày


Tôi nghĩ vấn đề của tôi là với việc bảo trì. Nếu tôi làm điều đó tất cả dưới một miền, như bạn đã đề cập, tôi sẽ phải cũng bao gồm footer.php, header.php, functions.phpindex.php. Nếu tôi thực hiện thiết lập phụ và chính thì đơn giản nhưng tôi ghét ý tưởng không có tất cả trong một miền.
DVᴀᴅᴇʀ 22/03/18

Chỉ cần tải mã React của bạn functions.phpqua enqueue, và có điểm vào index.php, và tối thiểu footer.phpheader.phpđể đảm bảo tất cả các móc phải được bắn
Tom J Nowell

khu vực đó là những gì tôi cũng không chắc chắn làm thế nào.
DVᴀᴅᴇʀ 22/03/18

4
header.php: <html><head><?php wp_head(); ?></head><body>vv Không có những bước Phản ứng bước chủ đề họ đang cơ bản chủ đề 101. Chỉ cần tạo một chủ đề tối thiểu mà không có phong cách hay những nội dung, và đặt một phản ứng ứng dụng ở giữa
Tom J Nowell
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.