Как вставить массив внутри объекта с помощью массивов в React js?

#reactjs

#reactjs

Вопрос:

У меня проблема,

У меня есть компонент управления выбором, в котором есть опции, внутри опций я добавляю массив опций путем сопоставления массива staticPosts .

Мой код:

 <SelectControl
    label={__("Choose Static Block Page to show above header", "pirezmeta")}
    onChange={ (value) => props.onChangeStaticContent(value) }
    options={props.staticPosts amp;amp; props.staticPosts.map(post => 
        ({value: post.id, label: post.title}))}
    value={props.staticContent}
/>
  

Все в порядке, за исключением того, что я хочу сначала добавить пустой параметр, что-то вроде: {value: 0, label: "No value"}
Как я могу это сделать, вы можете мне помочь, пожалуйста?

Ответ №1:

В этой опоре многое происходит. Я бы объявил массив выше отдельно — включил первый {value: 0, label: "No value"} элемент, а затем добавил другие сопоставленные элементы:

 const options = [
  {value: 0, label: "No value"},
  ...props.staticPosts?.map(
    post => ({value: post.id, label: post.title})
  )
];
// ...
<SelectControl
    label={__("Choose Static Block Page to show above header", "pirezmeta")}
    onChange={ (value) => props.onChangeStaticContent(value) }
    options={props.staticPosts amp;amp; options}
    value={props.staticContent}
/>
  

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