在此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();