@deantek

Как вывести 2 элемента массива, а по клику на кнопку выводить оставшиеся элементы по одному?

есть массив items = [1,2,3,4]
как мне вывести первые 2 элемента, а после нажатия кнопки вывести еще 1 элемент и тд
сейчас я сделал так

counter() {
    this.setState((prevState) => ({
      count: prevState.count + 1,
    }))
  }

 render() {
    const { items } = this.state


    return (
      <>
        {items.map((item: any, i: number) => {
          if (i < this.state.count * 2) {
            return <div className={s.container}>{item}</div>
          }
          return <></>
        })}
        <button type="button" onClick={() => this.counter()}>
          counter
        </button>
      </>
    )
  }


но сейчас я вывожу только первые 2 элемента, а после нажатия на кнопку все остальные сразу
  • Вопрос задан
  • 535 просмотров
Решения вопроса 1
@alexzlow
(i < this.state.count * 2)

return (
    <>
      {
        arr.map((value, index) => {
        if (index < 2) {
          return <div key={index}>{value}</div>
        }
      })}
    </>


Вместо двойки нужно написать state. У вас он должен начинаться с 2
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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