我有一个由一个值组成的下拉菜单。如果第二次在下拉菜单中选择了相同的值,则我不想再次呈现该页面。
form = (
onChange={(e) => this.onP(e)}/>
);
onP = (event) => {
this.setState({
selectedItem: event.value
});
如果我再次选择相同的下拉列表,则无论已写入(以表格形式)的数据都应保持不变
答案 0 :(得分:1)
您可以在更新组件状态之前检查selectedItem
的值:
if (this.state.selectedItem !== event.value) {
this.setState({selectedItem: event.value});
}
答案 1 :(得分:0)
如果我很好地理解了您的问题,那么您想根据先前的值来更新状态,如果尝试执行此类操作,React建议使用setState的回调API。
onP = (event) => {
this.setState(prevState => {
if(prevState.selectedItem !== event.value){
return {selectedItem: event.value}
}
});