从setTimeout调用setState会导致意外的文本字段光标跳转

时间:2018-11-30 15:02:30

标签: javascript reactjs settimeout setstate

在此sample的输入字段中添加了一些击键,然后将插入号放置在文本中的某个位置并添加了另一个击键之后,插入号将跳至输入字段的末尾,而不是保留其位置。如果setTimeout不在setState中,则不会发生这种情况。为什么异步setState会导致这些问题?有没有办法在仍然异步调用class Hello extends React.Component { constructor(props) { super(props); this.state = {value: ""}; this.handleState = this.handleState.bind(this); } handleState(event) { const value = event.target.value; setTimeout(() => { this.setState({value: value}); }, 10); } render() { return <input value={this.state.value} onChange={this.handleState} />; } } ReactDOM.render( <Hello />, document.getElementById('container') ); 的同时获得所需的行为?

VideoPlayer vp;
vp.clip = clips [idVid]; //Local array of vids
vp.Play();

0 个答案:

没有答案