Как инициализировать значения выбора на основе состояния в реагирующем - PullRequest
0 голосов
/ 25 марта 2019

Я разработал подборщик для настройки дня и ночи. Я получаю текущее время для значения средства выбора из API и пытаюсь установить его с помощью setState, но каждый раз он будет отображать «день» в качестве значения. Я хочу, чтобы он отображался на основе переданного значения.

    this.state= {
        time : null
    }


   timeMode = (Currenttime) => { //here if the passed value is 'night' then it should set the value to night. 
                                //Then when clicking on picker it should be both values in dropdown
   this.setState({ time: Currenttime }); // this causes infinite loop...
    return (
        <View style={Styles.paddingStyle}>
            <Picker
                selectedValue={this.state.time}
                mode="dropdown"
                onValueChange={(value) => this.setState({time: value})}
    >
                {this.DropdownValues()}
            </Picker>
        </View>
    )
}

DropdownValues = () => {
    const time = [
      'day',
      'night'
    ];
    return time.map(data => {
      return <Picker.Item label={data} value={data} />;
    });
};
...