Higher-Order component
trong React là gì?
Higher-Order component
trong React là gì?
Higher-Order Component (HOC) trong React là một kỹ thuật nâng cao trong React để tái sử dụng logic component. Một HOC không phải là một phần của API React chính thức, mà là một mô hình phát sinh từ thành phần hợp thành của React. Nói một cách đơn giản, một HOC là một hàm nhận vào một component và trả về một component mới.
Một HOC thường được định nghĩa như một hàm JavaScript thuần túy. Đây là một ví dụ về cách tạo một HOC:
function withSubscription(WrappedComponent, selectData) {
return class extends React.Component {
constructor(props) {
super(props);
this.state = {
data: selectData(DataSource, props)
};
}
componentDidMount() {
// ... thêm logic đăng ký...
}
componentWillUnmount() {
// ... thêm logic hủy đăng ký...
}
render() {
// ... và render WrappedComponent với dữ liệu mới...
return <WrappedComponent data={this.state.data} {...this.props} />;
}
};
}
Trong ví dụ trên, withSubscription
là một HOC nhận vào một WrappedComponent
và một hàm selectData
. Hàm này tạo ra một class component mới, quản lý việc đăng ký và hủy đăng ký đến một nguồn dữ liệu, và truyền dữ liệu đó như một prop đến WrappedComponent
.
React.forwardRef
.Tóm lại, Higher-Order Component là một mô hình mạnh mẽ trong React giúp bạn tạo ra các component có thể tái sử dụng, tách biệt logic không liên quan đến UI và chia sẻ logic đó giữa các component khác nhau.
middle
Gợi ý câu hỏi phỏng vấn
Chưa có bình luận nào