React Component's lifecycle (Functional Concept) Flashcards
Một Lifecycle của Component có bao nhiêu thành phần chính (main phase)?
Có 3 thành phần chính (main phase): Mounting, Updating, và Unmounting. (Có nhiều phases khác nữa)
Hàm constructor() của Mounting Phase (trong Component’s lifecycle) được call khi nào?
Khi Component đó được tạo lần đầu tiên.
Có bao nhiêu main lifecycle methods của Mounting Phase trong Component’s Lifecycle? Chúng là gì?
3 main lifecycle methods của Mounting Phase:
1. constructor() lifecycle method
2. render() lifecycle method
3. getDerivedStateFromProps() lifecycle method
Trong Lifecycle của Component, mỗi thành phần chính (main phase) có gì?
Mỗi main phase có một tập các Lifecycle Methods cụ thể và được gọi vào các thời điểm khác nhau trong Component’s lifecycle.
Khi dùng constructor() trong Mounting Phase ta có thể làm những gì?
Ta dùng constructor() để khởi tạo component’s state và bind methods vào cái instance của component.
Hàm render() trong Mounting Phase làm gì?
Hàm render() có trách nhiệm generating cái Component’s virtual DOM dựa trên các props và state hiện tại.
Hàm render() trong Mounting Phase được gọi khi nào?
Có 3 trường hợp hàm render() được gọi:
1. Mỗi lần khi cái Component đấy cần re-rendered.
2. Những props hay state của Component đấy thay đổi.
3. Do Parent Component dduwoj re-rendered.
Hàm getDerivedStateFromProps() được gọi khi nào?
Nó được gọi trong cả hai giai đoạn: Mounting và Updating.
Trong Mounting phase, getDerivedStateFromProps() được gọi sau constructor() và trước render().
Hàm getDerivedStateFromProps() được gọi trong mỗi chu kỳ render và nó cho ta cơ hội update component’s state dựa trên các thay đổi của props trước lần render ban đầu.
Cấu trúc của hàm getDerivedStateFromProps()
static getDerivedStateFromProps(props, state)
Nó có 2 tham số:
props: Là các updated props cho component
state: Là current state của component
Nó return một object đại diện cho cái update state của component. Hoặc là return về null nếu không update state.
Hàm getDerivedStateFromProps() là hàm tĩnh hay đông?
getDerivedStateFromProps() là một hàm tĩnh. Thế nên nó không thể tương tác với Component’s instance methods or properties (bởi thì không thể dùng từ khóa this).