gpt4 book ai didi

javascript - SetState 被多次调用

转载 作者:行者123 更新时间:2023-12-02 20:50:58 26 4
gpt4 key购买 nike

我的 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/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com