Bản tóm tắt về React

Ngày đăng: 12/04/2021   -    Cập nhật: 13/04/2021
Mình không sử dụng React thường xuyên và vì vậy bất cứ khi nào mình cần React (ngay cả việc nhỏ nhất trong React), mình đều mở Document lên xem, các bài blog, video Youtube hoặc tìm kiếm trên Stack Overflow.


Đó là lý do tại sao mình quyết định làm một bản tóm tắt về React bởi vì mình cũng sử dụng nhiều công nghệ, không thể nhớ hết được chúng nó.


> Nếu bạn muốn tự mình học cụ thể từ đầu thì có thể xem hướng dẫn HỌC REACT.JS này. Còn nếu muốn học nhanh với chuyên gia thì tham gia HỌC FRONT END (Với React.js) ngay.


Mình sẽ tiếp tục cập nhật bản tóm tắt về React vào đây, vì thế hãy lưu lại bài viết này để có thể tham khảo nhanh bất kỳ lúc nào.



Tóm tắt React


#1: Tạo react app




// Tạo react app mới
npx create-react-app my-app-name

// Chạy react app
cd my-app-name
yarn start

// Liên kết trên trình duyệt
// http://localhost:3000
 


#2: React Functional components



Một số lưu ý khi tạo Functional components


  • Không cần import React from 'react' (kể từ React 17)
  • Tên phải có chữ cái đầu tiên viết HOA
  • Phải return JSX


File: src/App.js



// React Functional component
function App(){
    return <h1>Học React</h1>

export default App;
 


Sau đó, làm thế nào để component này hiển thị được trên trình duyệt?


Bạn cần vào src/index.js và trong tệp đó để render component.




// Render component
ReactDOM.render(
    <App />,
    document.getElementById('container')
);
 


Sau đó, App component sẽ được render bên trong thẻ div có id là container trong file public/index.html


#3: Quy tắc của JSX



JSX trả về một phần tử duy nhất (chỉ một phần tử cha)



// Không hợp lệ
return <h1>Tự học</h1><h2>React!</h2>

// Hợp lệ 
return (
    <>
        <h1>Hello World</h1>
        <h2>Hi!</h2>
    </>
)
// Sử dụng dấu ngoặc đơn cho định dạng nhiều dòng
 


Sử dụng className thay vì class


Ngoài ra, tất cả tên thuộc tính cần phải viết theo kiểu camelCase



// Không hợp lệ
return (
    <div class="title">
        Học React
    </div>
)

// Hợp lệ
return (
    <div className="title">
        Học React
    </div>
)
 


Đóng mọi phần tử



return (
    <img src="https://niithanoi.edu.vn/imgs/logo.jpg" />
    <input type="text" name="first_name" />
)
 


#4: Conponent lồng nhau



Bạn có thể lồng component này bên trong component khác.



// Viết tắt tạo component với Arrow Function
// Component #1
const CourseTitle = () => <h1>Học React</h1>

// Sử dụng Arrow function
// Component #2
const Link = () => {
    return <a href="#">niithanoi.edu.vn</a>
}

// Lồng 2 component vào component cha
function HelloWorld(){
  return (
      <>
          <CourseTitle />
          <Link />
      </>
  )
}
 


#5: Component CSS



Chúng ta viết CSS ở trong file src/App.css



h1 {
    colorred;
}
 


Để liên kết CSS với component, bạn cần import file CSS trong src/App.js



import './App.css'

function App(){
    return <h1>Học React</h1>
}
 


#6: Viết CSS kiểu inline-style



Sử dụng dấu ngoặc nhọn { } để viết CSS theo kiểu inline-style



function App(){
    return <h1 style={color: 'red' }}>Học React</h1>
}
 


#7: Sử dụng JavaScript trong JSX



Để sử dụng JavaScript trong JSX thì chúng ta cần:


  • Viết code JS trong { }
  • Và phải là một biểu thức (trả về một giá trị)



function App(){
    const name = 'ict'
    return (
      <>
          <h1>Hi {name}</h1>
          <p>{name === 'ict' ? '(admin)''(user)'}</p>
      </>
    )
}
 


#8: Thuộc tính của component (Props)



Bạn có thể truyền dữ liệu thông qua props



function App()
    return <User name='Ngọc Anh' age={18} />

const User = (props=> {
    return <h1>Tên: {props.name}, Tuổi: {props.age}</h1>
}

// Hoặc sử dụng object deconstructing
const User = ({nameage}) => {
    return <h1>Tên: {name}, Tuổi: {age}</h1>
}
 


Và có thể truy cập cả thuộc tính con thông qua props.children


Ví dụ: Tự nhiên ở trong ví dụ trên, chúng ta muốn thêm nhanh một dòng thông báo "Chào buổi sáng!" thì truy cập nó như sau:




function App()
    return (
        <User name='Ngọc Anh' age={18}>
            Chào buổi sáng!
        </User>
    )
}

const User = (props=> {
    return (
        <h1>Tên: {props.name}, Tuổi: {props.age}</h1>
        <p>{props.children}</p>
    )
}

// Hoặc sử dụng object deconstructing
const User = ({nameage}) => {
    return (
        <h1>Tên: {name}, Tuổi: {age}</h1>
        <p>{props.children}</p>        
    )
}
 


... Còn tiếp


---
HỌC VIỆN ĐÀO TẠO CNTT NIIT - ICT HÀ NỘI
Học Lập trình chất lượng cao (Since 2002). Học thực tế + Tuyển dụng ngay!
Đc: Tầng 3, 25T2, N05, Nguyễn Thị Thập, Cầu Giấy, Hà Nội
SĐT: 02435574074 - 0383.180086
Email: hello@niithanoi.edu.vn
Fanpage: https://facebook.com/NIIT.ICT/
 
#niit #icthanoi #niithanoi #niiticthanoi #hoclaptrinh #khoahoclaptrinh #hoclaptrinhjava #hoclaptrinhphp
Bình luận Facebook
Khóa học liên quan đến bài viết

KHÓA HỌC LẬP TRÌNH FRONT END VỚI REACT.JS

56 giờ
Học Lập trình Front end hiện đại với ReactJS. Học làm chủ HTML, CSS, JS và thư viện JavaScript phổ biến nhất hiện nay. Sẵn sàng đi thực tập / đi làm ngay sau khóa học.

Khóa học PHP Full stack [2023] cho người mới bắt đầu

96 giờ
Khóa học Lập trình PHP Full stack, phiên bản cập nhật lần thứ 8. Dạy Lập trình PHP bài bản từ Front end đến Back end + Laravel. Hướng dẫn làm 2 Dự Án Web lớn

KHÓA HỌC PYTHON HƯỚNG ĐỐI TƯỢNG

50 giờ
Khóa học giúp học viên sử dụng thành thạo ngôn ngữ Lập trình Python (3x). Hiểu và phát triển được Ứng dụng Web với Django Framework. Học thực hành với Giảng viên cao cấp.

Khóa học Java Full stack (IJFD)

104 giờ
Học lập trình Java Fullstack với khóa học được xây dựng theo lộ trình bài bản, từ JAVA CƠ BẢN đến JAVA WEB và nâng cao về JAVA FRAMEWORK như: Spring Boot, Hibernate
Mục lục
Đăng ký tư vấn
Nhân viên gọi điện tư vấn miễn phí sau khi đăng ký
Được cập nhật các ưu đãi sớm nhất
Hotline: 0383180086
Tên không được để trống
Số điện thoại không được để trống
Email không được để trống
Hãy đăng ký để nhận những thông tin mới nhất về học bổng mới nhất tại NIIT - ICT Hà Nội
top
Đóng lại Đăng ký học tại NIIT - ICT Hà Nội
6260+ học viên đã theo học tại NIIT - ICT Hà Nội và có việc làm tốt trong ngành lập trình. Nắm lấy cơ hội ngay hôm nay!
Chọn khóa học
  • KHÓA HỌC LẬP TRÌNH FRONT END VỚI REACT.JS
  • KHÓA HỌC LẬP TRÌNH PHP WEB
  • Khóa học PHP Full stack [2023] cho người mới bắt đầu
  • Khóa học BIG DATA với Hadoop và Spark
  • Khóa học Lập trình Android tại Hà Nội
  • [Tuyển sinh 2023] Lập trình viên Quốc tế DigiNxt
  • Khóa học Tiền lương & Phúc lợi (C&B Excel) tại Hà Nội
  • LẬP TRÌNH GAME
    • Khóa học Lập trình Game Unity
  • LẬP TRÌNH WEB FRONT END
    • KHÓA HỌC PYTHON HƯỚNG ĐỐI TƯỢNG
    • KHÓA HỌC ANGULAR & TYPESCRIPT (FRONT END)
  • LẬP TRÌNH WEB BACK END
    • LẬP TRÌNH JAVA WEB VỚI FRAME WORK
    • Lập trình Web với Django
    • Lập trình PHP với Laravel Framework
  • CHƯƠNG TRÌNH ĐÀO TẠO ỨNG DỤNG CÔNG NGHỆ
    • Khóa học Tiền lương & Phúc lợi (C&B Excel) tại TP HCM
  • LẬP TRÌNH WEB FULL STACK
    • Khóa học Java Full stack (IJFD)
  • LẬP TRÌNH MOBILE
    • FRONT-END VỚI REACTJS VÀ REACT NATIVE
    • Lập trình Android Nâng cao
  • ĐÀO TẠO CHO DOANH NGHIỆP
    • KHÓA HỌC BUSINESS ANALYSIC TỪ CƠ BẢN ĐẾN NÂNG CAO 2023
    • Khóa học Magento: Làm chủ CMS TMĐT lớn nhất
    • Khóa học IOT: Xây dựng Sản phẩm IOT với Raspberry Pi
    • Khóa học Automation Testing Chuyên nghiệp
  • KHÓA HỌC DỰ ÁN
    • Học sử dụng bộ Office: Word, Excel, Power Point, Mail chuyên nghiệp
  • KHÓA HỌC KHÁC
    • VBA Excel Toàn Tập (Cơ Bản - Nâng Cao)
    • VBA Excel Nâng cao
    • Khóa học JMeter: Performance Testing
    • Khóa học Tester đạt chuẩn Quốc tế ISTQB Foundation Level
    • Khoá Học Tester đạt chuẩn quốc tế ISTQB Advanced Level
Bạn chưa chọn khóa học cần đăng ký
Tên không được để trống
Số điện thoại không được để trống
Email không được để trống
Đăng ký học thành công!
Cảm ơn bạn đã đăng ký học tại NIIT - ICT HÀ NỘI!