сохранение индекса в состоянии по клику, странное поведение - PullRequest
1 голос
/ 19 марта 2019

Я сопоставляю массив и отображаю их в виде кнопки.Когда пользователи нажимают на кнопку, я сохраняю индекс и отображаю данные в зависимости от этого индекса.Но есть странное поведение.Когда я нажимаю на первую кнопку, она не сохраняет индекс в состоянии.Только после нажатия на другие кнопки, он начинает сохранять, но неверный индекс.В чем может быть проблема?

displayButtons() {
    const { data } = this.state
    let sortedButtons = data.map((items, idx) => {
      return (
        <Button
          key={idx}
          className="project-btn"
          primary
          onClick={() => this.setState({ index: idx })}
        >
          {items.title}
        </Button>
      )
    })
    return sortedButtons
  }

displayData() {
    const { data, index } = this.state
    let sortedData = data[index].settings.map((item, id) => {
      const { _init_ } = item.settings
      return _init_.map((message, index) => {
        const { message_content } = message

        return message_content === undefined ? null : (
          <div key={index}>
            <div>
              <div className="settings-message">{message_content}</div>
            </div>
            <div>yes</div>
          </div>
        )
      })
    })
    return sortedData
  }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...