Skip to content

Instantly share code, notes, and snippets.

Hôm nay mình xin giới thiệu 1 framework của frontend là svelte - nó là 1 fw cũng nổi tiếng không kém cạnh gì React hay Angular, Vue.

Bài viết này mình chỉ xin giới thiệu 1 số nét căn bản của svelte (dưới góc nhìn của 1 người mới tìm hiểu), sau đó mình sẽ thử áp dụng viết 1 component căn bản

Bắt đầu tìm hiểu nào:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta http-equiv="X-UA-Compatible" content="ie=edge" />
<title>Document</title>
</head>
<body>
<script type="application/javascript">
@danhdv-0883
danhdv-0883 / recompse.md
Created December 25, 2019 09:38
recompse.md
    type StateHandler<TState> = (...payload: any[]) => Partial<TState> | undefined;
    type StateHandlerMap<TState> = {
      [updaterName: string]: StateHandler<TState>;
    };
    type StateUpdaters<TOutter, TState, TUpdaters> = {
      [updaterName in keyof TUpdaters]: (state: TState, props: TOutter) => TUpdaters[updaterName];
    };
 export function withStateHandlers, TOutter = {}&gt;(
import React from 'react';

export interface Props {
    clickText: (value: string) => void,
}

//function componnent
const Test: React.FC<Props> = ({ clickText }) => {
 const [value, setValue] = React.useState('')
import React from 'react';

export interface Props {
}

export interface State {
    name: string,
}

I> Khái niệm cản bản về React Hook

React hook đã được lên bản chính thức kể từ phiên bản 16.8. Trước đó, vào React Conf 2018 ở Cali đội ngũ phát triển đã giới thiệu nó và bắt đầu bản beta cho các phiên bản kế và nay đã là bản chính thức. Nếu ta vào https://reactjs.org/docs/hooks-intro.html bản đã thấy nó từ beta sang new

Hook cho phép ta không cần thiết phải tạo class component, chỉ cần tạo function less component vẫn có thể có thể sử dụng state và các features. Điều này khiến các component nhẹ nhàng hơn hơn nhiều, giảm số lượng code cần thiết phải code, đồng thời dễ hiểu ít nhầm lẫn hơn về một số khái niệm như livecycle với 1 lập trình viên mới

1. Lợi ích từ hook:

a. Giảm số lượng code đáng kể

Có thể giảm số lượng đáng kể, theo thống kê khoảng 90% với 1 project trung bình do:

  • Nhờ việc quản lý state dễ dàng và hiệu quả hơn với hook, ta có thể tránh lỗi wrapper hell
@danhdv-0883
danhdv-0883 / introrx.md
Created August 1, 2019 15:58 — forked from staltz/introrx.md
The introduction to Reactive Programming you've been missing