我的 My DateTimePicker Widget 显示有问题!我编写了下面的代码,并且发生了此错误超过最大更新深度当组件重复调用 setState 时可能会发生这种情况我在自己的 .我在代码的两部分中定义了 SetState
,当我运行它时,它显示一个大日历,该日历设置的日期不是上面 state
中的第一个日期!!几秒钟后它显示错误..!
我在代码中定义了 3 个其他 view
,在显示大 calendar
时未提及这些 view
!!
constructor(props){
super(props);
this.state={
selectedLabel:'4 mois',
value : parseInt('2020-06-20')
}
Show (value){
this.setState({selectedLabel :value});
}
render () {
<Picker style={{marginLeft:10,width:260}}
selectedValue={this.state.selectedLabel} onValueChange={this.Show()}>
<Picker.Item label= "1 semaine"></Picker.Item>
<Picker.Item label=" 15 jours "></Picker.Item>
<Picker.Item label=" 1 mois "></Picker.Item>
</Picker>
<DateTimePicker
style={{width:200}}
mode="date"
value={this.state.value}
display="calendar"
minimumDate={new Date((2300, 10, 20))}
onChange={(value)=>this.setState({value})}
/>
最佳答案
那是因为每次组件呈现时您都会调用 setState。使用以下代码更改您的 Picker 处理程序:
onValueChange={(value) => this.Show(value)}
关于javascript - SetState 被多次调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61604456/