Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 05.08.2020, 21:49
ab3 ab3 вне форума
Интересующийся
Отправить личное сообщение для ab3 Посмотреть профиль Найти все сообщения от ab3
 
Регистрация: 26.05.2020
Сообщений: 10

React:yвеличить предыдущее состояние на 1
При клике на кнопку изменение состояния происходит со второго клика ,подскажите что не так,почему при первом клике не изменяет.

export default class App extends Component {
  state = {
    images: [],
    isLoading: false,
    error: null,
    query: '',
    page: 1,
  };

  componentDidMount() {
    this.fetchImages();
  }

  fetchImages = (query, page) => {
    this.setState({
      isLoading: true,
    });

    fetchImg(query, page)
      .then(({ data }) =>
        this.setState({
          images: mapper(data.hits),
        }),
      )
      .catch(error => this.setState({ error }))
      .finally(() => this.setState({ isLoading: false }));
  };

  handleChange = e => {
    const { value } = e.target;

    this.setState({
      query: value,
    });
  };

  handleSubmit = e => {
    e.preventDefault();

    const { query, page } = this.state;
    this.fetchImages(query, page);

    this.setState({ query: '' });
  };


loadMore = () => {
    this.setState(state=> ({
      page: state.page + 1,
    }));

    const { query, page} = this.state;

    fetchImg(query, page).then(({ data }) =>
      this.setState(state => ({
        images: [...state.images, ...mapper(data.hits)],
      })),
    );

    console.log(page);

  };


render() {
    const { images, error } = this.state;
    return (
      <div>
        {error && <ErrorNotification text={error.message} />}
        <Searchbar onChange={this.handleChange} onSubmit={this.handleSubmit} />
        {images.length > 0 && (
          <ImageGallery images={images} onClick={this.loadMore} />
        )}
      </div>
    );
  }
}
Ответить с цитированием
Ответ


Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Изменить цвет кнопки, отменяя предыдущее нажатие Domovenok Элементы интерфейса 2 19.12.2018 15:45
как сохранить состояние клонированного элемента? Ramundo Элементы интерфейса 3 20.08.2018 16:50
Глобальная переменная, которая хранит состояние приложения sniffysko Angular.js 2 25.04.2018 09:13
переход элемента в изначальное состояние miraghyk Элементы интерфейса 5 30.12.2017 23:01
Как сохранить предыдущее значение select? MaxD Общие вопросы Javascript 3 21.07.2011 12:36