melkaya94
@melkaya94

Где сгенерировать массив?

для выпадающего списка создаю массив, на основе данных, которые приходят из api.
Массив countries создается в методе render. Где можно сгенерировать этот массив один раз, чтобы он в рендере постоянно не генерировался?
stores - массив объектов из которого выбираем поля country и добавляем их в массив this.countries. Затем с помощью filter оставляем только уникальные значения.
render() {
		const {data} = this.props;
		const stores = safeGet(data, 'retailers', EMPTY_ARRAY);
		stores.forEach(store => this.countries.push(store.country));
		const countries = this.countries.filter((country, index, array) => array.indexOf(country) === index);

		return (
			<main className={styles.root}>
				<FindStore items={stores} countriesList={this.countriesList}/>
			</main>
		);
	}
  • Вопрос задан
  • 66 просмотров
Решения вопроса 1
rockon404
@rockon404 Куратор тега React
Frontend Developer
Если используете redux, можно использовать один из вариантов:
1. В mapStateToProps
2. При получении в саге, если используете redux-saga или async-action если используете redux-thunk
3. В редьюсере
Если redux не используете, в componentDidMount или методе в котором получаете данные.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
string15
@string15
Учусь верстать руками
Попробуйте в componentDidMount
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы