- 类组件中的受控组件
export default class ToDoList extends Component {
state = {
val: ''
}
showVal = () => {
console.log(this.state.val);
this.setState({ val: '' })
}
render() {
const { val } = this.state;
return (
<div>
<input
type="text"
value={val}
onChange={e => this.setState({ val: e.target.value })}
placeholder='类组件中的受控组件' />
<button
onClick={this.showVal}
>
类组件中的受控组件
</button>
</div>
)
}
}
- 类组件中的不受控组件
<input
type="text"
ref={node => this.inp = node}
placeholder='类组件中的不受控组件' />
<button onClick={this.showValNo}>
类组件中的不受控组件
</button>
- 函数组件中的受控组件
import React, { useState } from 'react';
export default function Cart() {
const [valSk, useValSK] = useState('');
function toShowSK() {
console.log('valSk', valSk);
useValSK('');
}
return (
<div>
<input
type="text"
value={valSk}
onChange={e => useValSK(e.target.value)}
placeholder='函数组件中的受控组件' />
<button onClick={toShowSK}>函数组件中的受控组件</button>
</div>
)
}
- 函数组件中的ref
import React, { useState, useRef } from 'react'
export default function Cart() {
const inputRef = useRef();
function toShowSKNo() {
console.log(' inputRef.current.value', inputRef.current.value);
inputRef.current.value = '';
}
xxxx
<div>
<input
type="text"
ref={inputRef}
placeholder='函数组件中的ref' />
<button onClick={toShowSKNo}>函数组件中的ref</button>
</div>