Sự khác nhau giữa state
và props
trong React là gì?
Sự khác nhau giữa state
và props
trong React là gì?
Trong React, state
và props
là hai khái niệm cốt lõi giúp quản lý dữ liệu và tương tác trong các component. Dưới đây là sự khác biệt chính giữa state
và props
:
state
là một tập hợp các dữ liệu động mà component có thể sở hữu và quản lý. State có thể thay đổi theo thời gian, thường do sự kiện người dùng hoặc hệ thống.state
được quản lý bên trong component và có thể được cập nhật bằng cách sử dụng this.setState()
trong class components hoặc hooks như useState
trong function components.state
là riêng tư và chỉ có thể truy cập hoặc thay đổi bởi chính component đó.state
khi dữ liệu cần thay đổi theo thời gian hoặc do tương tác người dùng.props
(viết tắt của "properties") là các tham số mà component nhận từ bên ngoài, thường là từ component cha. Props được sử dụng để truyền dữ liệu và sự kiện giữa các component.props
là bất biến, tức là một khi đã được truyền vào component, bạn không thể thay đổi giá trị của chúng bên trong component đó.props
giúp tăng tính tái sử dụng của component bằng cách cho phép component nhận dữ liệu động từ cha, giúp tạo ra các component linh hoạt và tái sử dụng.props
khi bạn muốn truyền dữ liệu từ component cha xuống component con hoặc khi bạn muốn render component dựa trên dữ liệu đầu vào từ bên ngoài.class ParentComponent extends React.Component {
state = {
greeting: 'Hello'
};
render() {
return <ChildComponent greeting={this.state.greeting} />;
}
}
class ChildComponent extends React.Component {
render() {
// Props được sử dụng ở đây và không thể thay đổi
return <h1>{this.props.greeting}, World!</h1>;
}
}
Trong ví dụ trên, ParentComponent
có state
chứa dữ liệu chào hỏi, và nó truyền state
này như một prop
cho ChildComponent
. ChildComponent
sau đó sử dụng prop
để render dữ liệu, nhưng không thể thay đổi nó.
Tóm lại, state
và props
đều quan trọng trong việc xây dựng các ứng dụng React, nhưng chúng phục vụ cho các mục đích khác nhau: state
cho phép component quản lý dữ liệu động của chính mình, trong khi props
cho phép truyền dữ liệu giữa các component, tạo ra một dòng dữ liệu một chiều từ component cha xuống component con.
junior
Gợi ý câu hỏi phỏng vấn
Chưa có bình luận nào