Câu hỏi
Life Cycle trong React hoạt động như thế nào ? Hãy chỉ ra flow của một life cycle?
Life Cycle trong React hoạt động như thế nào ? Hãy chỉ ra flow của một life cycle?
Nhìn vào hình ảnh trên thì có 3 phần chính chúng ta sẽ tìm hiểu đó chính là
- Mounting
- Updation
- Unmounting
Mounting
Chắc hẳn các bạn cũng biết khái niệm hook rồi đúng không - tức là cho phép người dùng can thiệp vào quá trình cập nhật UI với những thay đổi của state
hoặc props
. Các bạn nhìn cột Mounting có 3 phướng thức lifecycle đó là
- componentWillMount()
- render()
- componentDidMount()
Như các bạn thấy đấy khi chúng ta refresh lại trang web hoặc mới truy cập thì 3 method lifecycle này sẽ lần lượt chạy. Một khi mà component được render trong lần đầu tiên thì phương thức componentWillMount()
sẽ được gọi trước khi render. Chúng mình có thể hiểu như này, trước khi compont vô DOM bằng hàm render()
thì hàm componentWillMount()
sẽ được gọi. Chú ý chúng ta không nên gọi hàm setStae()
trong hàm componentWillMount()
vì nó chưa có DOM nào để tương tác.
componentDidMount()
sẽ được gọi sau khi render component, ở đây cũng là nơi thực hiện các hàm AJAX, axios request, DOM hay update state sẽ được thực thi tại đây. Phương thức này cũng được kết nối với các Framwork khác hay database. Chúng mình sẽ đặt hàm setState()
ở đây để tương tác vì Component đã được vô DOM.
Ví dụ
```js import React, { Component } from "react"; import logo from "./logo.svg"; import "./App.css";
class Demo extends Component { constructor(props) { super(props); // Don't do this! this.state = { color: "green" }; } componentWillMount() { console.log("componentWillMount da chay"); }
componentDidMount() {
console.log("componentDidMount da chay");
...