Передача выбранных данных в массив объектов

#javascript #reactjs

#javascript #reactjs

Вопрос:

Я пытаюсь добавить данные в массив объектов, которые будут выглядеть следующим образом:

 [
{text: 'title content | subtitle content'},
{text: 'more title content | and more subtitle content'},
{text: 'even more title content | and some more subtitle content'}
]
  

Мои данные поступают из запроса на выборку, возвращая массив объектов. Я пытаюсь установить данные, которые я получаю от запроса на выборку, в массив с именем «array», например:

 let data = this.state.data; //data from fetch request
array.push(data.map(item, i) => {
{text: `{item.content_title | {item.content_subtitle}`}
});
  

Я поместил приведенный выше кодовый блок в метод componentDidMount() жизненного цикла. Я получаю ошибку синтаксического анализа при запуске этого кода. Как я могу отправить извлеченные данные в массив?

Ответ №1:

 let data = this.state.data; //data from fetch request

data.forEach(item => array.push({ 
   text: `${item.content_title | ${item.content_subtitle}` 
}))
  

Ответ №2:

 let data = this.state.data; //data from fetch request
let arr = []
data.forEach(
 (item) => arr.push(item)
);
  

Ответ №3:

Частично проблема может заключаться в том, что ваша выборка еще не вернулась, так что this.state .данные равны нулю. Если формат данных, которые вам нужны, представляет собой массив объектов, сохраните его в state . В этом примере вы получаете свои данные выборки (и не забудьте .json(), если возвращаете JSON), обрабатываете их и сохраняете в состоянии. Кроме того, в вашем примере вы забыли $ для текстовой строки.

 fetch("some url")
    .then(res => res.json()) // if JSON returned
    .then(json => {
        const data = json.map(item => {
            return {text: `${item.content_title} | ${item.content_subtitle}`};
        }

        this.setState({ data });
    }).catch(console.error);