❑State là 1 đối tượng javascript (javascript object) dùng lưu trữ dữ liệu động của component và cho phép component theo dõi những thay đổi giữa các lần render ( có nghĩa là khi state object thay đổi, component sẽ rerender )
Trang 1Conceive Design Implement Operate
THỰC HỌC – THỰC NGHIỆP
http://www.poly.edu.vn
Trang 2M ỤC TIÊU
Component: state
Component’s Lifecycle
Trang 4L UẬT CỦA STATE
❑State là 1 đối tượng javascript (javascript object) dùng lưu trữ dữ liệu động của component và
cho phép component theo dõi những thay đổigiữa các lần render ( có nghĩa là khi state object thay đổi, component sẽ re-render )
Trang 5L UẬT CỦA STATE
Trang 6S TATE OBJECT
Chỉ có thể sử dụng trong class component
Cài đặt khi component được tạo
Trang 7T HAY ĐỔI STATE OBJECT
❑Để thay đổi 1 giá trị trong state object, sử dụng
this.setState()
❑Khi 1 giá trị trong state object thay đổi,
component sẽ re-render (xuất lại, vẽ lại), nghĩa là
dữ liệu ra (output) sẽ thay đổi theo giá trị mới
Trang 8T HAY ĐỔI STATE OBJECT
Thay đổi giá trị trong
state với setState()
Trang 9Có thể đặt giá trị mặc định bên trong
component
Có thể đặt giá trị ban đầu cho các
component con
Có thể thay đổi trong các component con ✓ ✗
Trang 10STATE - APP WEATHER
Trang 11STATE – APP WEATHER
❖Nam bán cầu – mùa
Trang 12S TATE – A PP WEATHER
❑Cấu trúc project
Trang 13A PP WEATHER – S EASON D ISPLAY JS
Trang 14A PP WEATHER – INDEX JS
❑Location (thay đổi)
Khởi tạo
Cập nhật
Trang 15Đ IỀU KIỆN RENDER NỘI DUNG
Trang 16RENDER NỘI DUNG
Trang 20CHUYỂN STATE NHƯ PROPS
Trang 21C HUYỂN STATE NHƯ PROPS
Trang 22C HUYỂN STATE NHƯ PROPS
Trang 24L IFECYCLE
❑Mỗi 1 component trong react có 1 vòng đời
(lifecycle) phát triển của riêng nó
❑Lifecycle mỗi component có 3 giai đoạn:
mounting, updating, unmounting
Trang 25L IFECYCLE
Kết xuất JSX Cập nhật component
+ Re-render
Xoá component
Trang 27L IFECYCLE - MOUNTING
❑Contructor(): được tạo trước hết
❖ Khởi tạo component
❖ Cài đặt state và các giá trị ban đầu.
❖ Gọi props (như là đối số)
❖ Sử dụng super(props) trước tất cả các khởi tạo
khác để
➢ Khởi tạo constructor cha
➢ Cho phép các component kế thừa các phương thức từ cha của nó
❑Render(): bắt buộc luôn được gọi (call)
❖ Hiển thị JSX thành DOM
Trang 28L IFECYCLE - MOUNTING
Trang 29L IFECYCLE - MOUNTING
❑componentDidMount()
❖ Được gọi 1 lần trong lifecycle
❖ Được gọi sau khi component được kết xuất (rendered)
❑Ví dụ
Trang 30❖ Được gọi khi component được cập nhật
❖ Kết xuất lại những thay đổi mới
❑componentDidUpdate()
❖ Được gọi sau khi component được cập nhật
Trang 31Render: The updated favourite is yellow
Trang 32L IFECYCLE - UNMOUNTING
❑Unmounting:
❖ Component được xoá khỏi DOM
❖ Kết thúc lifecycle của component
❖ componentWillUnmount()
Trang 33L IFECYCLE
Trang 34L IFECYCLE
Trang 35L IFECYCLE
Trang 36LIFECYCLE – APP WEATHER
Trang 37L IFECYCLE