Làm cách nào để override method của component của React (React-Native)
Hiện tại mình đang có nhu cầu override method _onPress của TextInput để expose sự kiện onPress của nó ra ngoài (Vốn là TextInput không có sự kiện onPress). Nên mình đã thử kế thừa TextInput thế này:
class ExTextInput extends TextInput
{
_onPress()
{
this.props.onPress && this.props.onPress(...arguments); // làm trước vài chuyện gì đó
super._onPress(...arguments); // gọi lại _onPress gốc, method gốc sẽ trigger sự kiện onFocus
}
}
Kết quả toàn là _onPress của TextInput chạy chứ không phải _onPress của mình chạy trước . Hình như component mà được tạo bằng React.createClass thì không kế thừa kiểu này được.
Mình search google thì toàn ra các bài viết khuyên bảo nên dùng Higher Order Component, Composite over Inheritance các kiểu. Nhưng mình cần handle chính xác sự kiện onPress trước sự kiện onFocus của TextInput (chạy sau là sai mục đích của mình) nên không dùng Composite được.
Mong mọi người giúp đỡ
OK, mình ngồi thử nghiệm cả sáng thì chắc có cách này, nhưng đây không phải là kế thừa
Thử như này có đc ko bạn, mình chưa thử