SolidJS - React gặp Svelte?

React cho đến nay là framework Javascript frontend lớn nhất trong phát triển web hiện đại. Mặc dù vậy, Svelte đã ngày càng trở nên phổ biến trong vài năm qua. Điều gì làm cho Svelte trở nên đặc biệt.

  • Cú pháp rất dễ học
  • Thay vì vận chuyển khuôn khổ đến trình duyệt, mã được biên dịch theo js tiêu chuẩn, dẫn đến kích thước gói nhỏ hơn NHIỀU và mã nhanh như chớp.

SolidJS là một khung giao diện người dùng giao diện người dùng có cú pháp rất giống với React nhưng được biên dịch sang javascript hiện đại như Svelte cho phép mọi người có được tốc độ và kích thước gói của Svelte nhưng sử dụng cú pháp React mà họ đã quen.

Thiết lập một dự án SolidJS

Chỉ cần chạy lệnh sau để tạo một dự án mới…

npm init solid app ProjectName

hoặc để đánh chữ

npm init solid app-ts ProjectName

Những gì giống nhau

  • Cấu trúc tệp của dự án đã tạo sẽ giống như một ứng dụng tạo phản ứng
  • JSX vẫn hoạt động như JSX

Vì vậy, trong React, thông thường bạn sẽ sử dụng hook useState để tạo một biến trạng thái và quá trình này vẫn hoạt động khá giống trong SolidJS ngoại trừ bây giờ chúng ta sử dụng hàm createSignal.

import {createSignal} from "solid-js"
import './App.css';
function App() {
// create state
  const [count, setCount] = createSignal(1)
// add function
  const add = () => {
    //notice in this context I must invoke the state to get the value (not in jsx)
    setCount(count() + 1)
  }
// JSX works like normal
  return (
    <div class="App">
      <h1>My Counter</h1>
      <h2>{count}</h2>
      <button onClick={add}>Add</button>
    </div>
  );
}
export default App;

Vòng đời và tạo

Đây là nơi Tư duy trong Solid rất khác với Tư duy trong React. Trong React, toàn bộ thành phần là một hàm chạy lại mỗi khi bạn cập nhật trạng thái, tạo ra các vòng lặp vô hạn khi thay đổi trạng thái trên các lệnh gọi hàm trong thân hàm của thành phần. Trong React, giải pháp cho việc này là chuyển loại mã này vào dạng đóng của riêng nó với hook useEffect để chạy khi không muốn trên mỗi lần hiển thị của hàm component.

Solid không sử dụng DOM ảo và khi cập nhật trạng thái, nó không chạy lại chức năng thành phần. Thay vào đó, mã Reactive được bao bọc trong các lệnh gọi createEffect, sau đó chạy lại chức năng khi bất kỳ tín hiệu nào bên trong chúng được cập nhật. Lợi ích của việc này là…

  • Bạn có thể thực hiện các cuộc gọi Tìm nạp / Axios mà không cần phải sử dụng chúng
  • JSX sẽ tự động biên dịch thành các cuộc gọi createEffect, đó là lý do tại sao chúng sẽ cập nhật khi trạng thái cập nhật.

Điều tốt đẹp về điều này là các bản cập nhật chi tiết hơn khiến nhu cầu về chi phí của một dom ảo là không cần thiết (chỉ mã phụ thuộc vào dữ liệu được cập nhật sẽ thay đổi mà không cần phải chạy bất kỳ so sánh nào).

Kết luận

Solid giữ lại những gì tuyệt vời về Cú pháp React nhưng cũng sử dụng các phương pháp nâng cao hiệu suất của Svelte. Tôi sẽ không ngạc nhiên khi thấy SolidJS phát triển trong cùng một mạch các Framework như Svelte và 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.

Jest — Khung kiểm tra JavaScript mạnh mẽ

Jest — Khung kiểm tra JavaScript mạnh mẽ

Kiểm thử là một phần thiết yếu của quá trình phát triển phần mềm. Nó đảm bảo rằng mã đáng tin cậy, hoạt động như mong đợi và giảm khả năng xảy ra lỗi.

Related posts

Hai năm trong ngành thiết kế- Tốt, xấu và xấu…

Hai năm trong ngành thiết kế- Tốt, xấu và xấu…

“Này Siri, chơi Me Dive của Olivia Dean.” Đó là tháng 5 năm 2021 khi tôi bắt đầu thực tập tại Học viện Tương lai Châu Phi ở Akure, Nigeria.

CUỘC SỐNG KHÔNG GIỚI HẠN

Khi bạn lớn lên, bạn có xu hướng được bảo rằng thế giới là như vậy và cuộc sống của bạn chỉ là sống cuộc sống của bạn trong thế giới, không bao giờ mạo hiểm cuộc sống của bạn, chỉ cần đi theo một con đường đã định sẵn và cuối cùng sẽ chết, và cố gắng không bash the wall too much.But that's a very limited life.

Cuốn sách đầu tiên của một đứa trẻ về việc cao

Cuốn sách đầu tiên của một đứa trẻ về việc cao

(Cảnh báo- Đây là tác phẩm Châm biếm, nhằm mục đích Lật đổ một cách vui vẻ- Chắc chắn không dành cho trẻ em) Bạn đã từng thấy bố mẹ mình trốn trong bếp và hút những điếu thuốc bốc mùi đó. Họ nói với bạn.

3 cách đã được chứng minh để cải thiện kỹ năng viết của bạn

Lợi ích của việc viết và các chiến lược giúp bạn làm điều đó

3 cách đã được chứng minh để cải thiện kỹ năng viết của bạn

Vào năm 2022, với việc phát hành GPT-3, kỹ năng viết dường như trở nên ít quan trọng hơn. Với AI, những người viết kém cũng có thể tạo ra đội ngũ nhân viên chất lượng.