gpt4 book ai didi

javascript - 受控/非受控输入

转载 作者:行者123 更新时间:2023-11-29 23:06:16 27 4
gpt4 key购买 nike

为什么 React 提示受控/不受控输入? value一开始就设置为this.state.textthis.state.textconstructor中设置code> 到 ''

import React from 'react';

class Foo extends React.Component {
constructor(props) {
super(props);

this.state = {
text: '',
};

this.textInput = React.createRef();
}

_onClick = () => {
this.setState({
text: '',
});

this.textInput.current.focus();
}

_onKeyDown = (event, search) => {
if (event.keyCode === 27) {
this.setState({
text: '',
});
}
}

_onChange = (event) => {
this.setState({
text: event.target.value,
})
}

render() {
return (
<React.Fragment>
<span
className={'foo'} >
<button

onClick={() => this._onClick()} />
<input
ref={this.textInput}
className='bar'
type='text'
value={this.state.text}
placeholder='Kittens...'

onKeyDown={event => this._onKeyDown(event)}
onChange={event => this._onChange(event)} />
</span>
</React.Fragment>
)
}
};

最佳答案

由于您同时使用 ref={this.textInput}value={this.state.text} 所以我认为这是在提示使用一种方法。通常我们对非受控组件使用 ref ,对于受控组件我们使用 value 属性和 callbacksonChange

关于javascript - 受控/非受控输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54705505/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com