Reactjs 如果事件重复发生,我不想重新呈现数据

Reactjs 如果事件重复发生,我不想重新呈现数据,reactjs,Reactjs,我有一个下拉列表,它由一个值组成。如果在下拉列表中第二次选择相同的值,我不想再次重新呈现页面 form = ( onChange={(e) => this.onP(e)}/> ); onP = (event) => { this.setState({ selectedItem: event.value }); 如果我再次选择相同的下拉列表,则无论已写入的数据(在表单中)应保持不变您可以在更新组件状态之前检查selectedItem的值: if (th

我有一个下拉列表,它由一个值组成。如果在下拉列表中第二次选择相同的值,我不想再次重新呈现页面

form = (
    onChange={(e) => this.onP(e)}/>
);

onP = (event) => {
    this.setState({
    selectedItem: event.value
});

如果我再次选择相同的下拉列表,则无论已写入的数据(在表单中)应保持不变

您可以在更新组件状态之前检查
selectedItem的值:

if (this.state.selectedItem !== event.value) {
    this.setState({selectedItem: event.value});
}

如果我很好地理解了您的问题,那么您希望根据前面的值更新state,如果您试图执行此类操作,则建议使用setState的回调API

onP = (event) => {
    this.setState(prevState => {
     if(prevState.selectedItem !== event.value){
         return {selectedItem: event.value}
     }
});

这是我所更改的,但它不起作用,无法跟踪。请帮助我onP=(event)=>{if(This.state.selectedItem!==event.value){This.setState({selectedItem:event.value});}不幸的是,这里没有足够的代码供我帮助您