Невозможно сопоставить массив строк в состоянии с Picker.item внутри React Native Picker - PullRequest
0 голосов
/ 14 июля 2020

Я пытаюсь заполнить средство выбора 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}/>) 
         })}

Но, к сожалению это точно так же, как и выше. Я получаю сообщение об ошибке, если не использую оператор распространения, а когда я использую оператор распространения, список выбора не заполняется.

Любая помощь или направления поиска будут очень приветствоваться.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...