в react-select :: Type ‘{label: string; value: string; }’ отсутствуют следующие свойства из type ‘только для чтения никогда[]’

#reactjs #typescript #react-select

#reactjs #typescript #реагировать-выбрать

Вопрос:

 state = {
  groupPermissionValue: {label: '', value: ''},
}
  
 <Select instanceId="user-group" onChange={this.selectUserGroupOption} 
      value={this.state.groupPermissionValue} 
      options={this.state.groupPermission} id="user-group" className="form-conrol"/>
  

ошибка

Ошибка типа: в Type ‘{label: string; value: string; }’ отсутствуют следующие свойства из type ‘только для чтения никогда[]’: длина, объединение, соединение, срез и еще 16.

формат значения — «{label: String, value: String}». но я не знаю, почему возникает эта ошибка.

Комментарии:

1. Вы передали один объект в options prop, который ожидал массив (объектов, содержащих метку и значение)

Ответ №1:

Параметры должны представлять собой массив объектов, как показано ниже,

 const options = [
  { value: 'apple', label: 'Apple' },
  { value: 'orange', label: 'Orange' }
];
  

Пример кода :-

 import React from 'react';
import Select from 'react-select';

const options = [
  { value: 'apple', label: 'Apple' },
  { value: 'orange', label: 'Orange' }
];

class App extends React.Component {
  state = {
    selectedOption: null,
  };
  handleChange = selectedOption => {
    this.setState(
      { selectedOption },
      () => console.log(`Selected Option:`, this.state.selectedOption)
    );
  };
  render() {
    const { selectedOption } = this.state;

    return (
      <Select
        value={selectedOption}
        onChange={this.handleChange}
        options={options}
      />
    );
  }
}