Я пытаюсь заполнить средство выбора React Native массивом строк, которые я сохранил в моем состоянии:
constructor(props) {
super(props);
this.state = {
designations: ["test", "test2"],
...
}
...
}
Я бы хотел, чтобы мой элемент Picker заполнял Picker.Items from значения внутри этого массива в моем состоянии.
Вот мой сборщик:
<Picker
selectedValue={this.state.designations[0]}
onValueChange={(itemValue, itemIndex) => this.setState({ designation: itemValue })}
{...Object.keys(this.state.designations).map((key) => {
return (<Picker.Item label={this.state.designations[key]} value={key} key={key}/>)
})}
/>
Я не получаю сообщения об ошибке с этой конфигурацией, однако в сборщике нет элементов вообще.
После прочтения этой ветки о том, чтобы делать именно то, что я пытаюсь сделать, я заметил, что у них нет оператора распространения (...) перед «Object» в их. Однако, когда я пытаюсь сделать это в своем коде, я получаю следующую ошибку:
'...' expected.
Я также пробовал следующее (также из этого потока):
{...this.state.designations.map((item, index) => {
return (<Picker.Item label={item} value={index} key={index}/>)
})}
Но, к сожалению это точно так же, как и выше. Я получаю сообщение об ошибке, если не использую оператор распространения, а когда я использую оператор распространения, список выбора не заполняется.
Любая помощь или направления поиска будут очень приветствоваться.