Нажатие на кнопку поиска при поиске будет направлять на URL-адрес и в то же время отправлять по редуксу. - PullRequest
0 голосов
/ 07 марта 2019

handleClick = () => {
    const {providerName,googleAddress,planOption} = this.state;
     let params = {}
    params.providerName = providerName;
    params.address = googleAddress;
    params.planOption = planOption;
    this.props.pcpSearch(params); //redux call disptach

    let pathName = customerId ? `/providers/customers/${customerId}/list/` : `/providers/list/`;
    this.props.history.push({
      pathname: pathName
    });
  };
  
  <Button onClick={this.handleClick}>Search</Button>
У меня есть один небольшой код, который используется для обработки клика по поиску, и в то же время он будет маршрутизировать для указания URL-адреса, а также будет вызывать отправку избыточного кода.

Здесь кнопка будет нажиматься так много раз, но я хочу назвать маршрут только при первом нажатии? есть ли способ сделать маршрут вызова только один раз, когда кнопка нажмет, и после этого не перейти к маршруту при последующем нажатии.

С уважением,

1 Ответ

0 голосов
/ 07 марта 2019

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

state = {
  clicked: false
};

handleClick = () => {
  const {providerName, googleAddress, planOption} = this.state;
  const params = { providerName, address: googleAddress, planOption };

  if (!this.state.clicked) {
    this.props.pcpSearch(params); //redux call disptach

    let pathName = customerId ? `/providers/customers/${customerId}/list/` : `/providers/list/`;
    this.props.history.push({
      pathname: pathName
    });
  } else {
    this.setState({ clicked: true });
  }
};

Поиск

Теперь это должно срабатывать только один раз.

...