Chào các em, hôm nay anh sẽ hướng dẫn mọi người hiểu về refs trong reactjs.
Refs được sử dụng để trả về tham chiếu của một phần tử trên web. Chúng ta nên hạn chế sử dụng Refs tuy nhiên Refs vẫn có hữu ích trong một số trường hợp như chúng ta muốn đo đạt hoặc thêm các phương thức cho các phần tử ở trên DOM
Trong ví dụ sau đây chúng ta chúng ta sử dụng refs để xoá các giá trị trong input. Hàm ClearInput sẽ tìm kiếm các phần tử trên web có giá trị ref=”input”, sau đó reset lại giá trị trong State và sau đó add thêm sự kiện focus khi button được click
Chúng ta có file App.jsx như sau
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
import React from 'react';
import ReactDOM from 'react-dom';
class App extends React.Component {
constructor(props) {
super(props);
this.state = {
data: ''
}
this.updateState = this.updateState.bind(this);
this.clearInput = this.clearInput.bind(this);
};
updateState(e) {
this.setState({data: e.target.value});
}
clearInput() {
this.setState({data: ''});
ReactDOM.findDOMNode(this.refs.myInput).focus();
}
render() {
return (
<div>
<input value = {this.state.data} onChange = {this.updateState}
ref = "myInput"></input>
<button onClick = {this.clearInput}>CLEAR</button>
<h4>{this.state.data}</h4>
</div>
);
}
}
export default App;
Chúng ta có file main.js để chạy như sau
1
2
3
4
5
import React from 'react';
import ReactDOM from 'react-dom';
import App from './App.jsx';
ReactDOM.render(<App/>, document.getElementById('app'));
Khi button được click chúng ta xoá giá trị trong textbox đồng thời focus chuột vào ô textbox.